# Polls in Newsletters

The SEIZE website supports a simple URL-based poll system. Each answer option in your poll is a link — when a reader clicks it, their vote is recorded and a confirmation message appears on the page. No form, no external tool, no login required.

You build the poll by constructing one URL per answer option and embedding those links in the newsletter. This guide walks you through the full process.

<div align="left" dir="ltr" id="bkmrk-%E2%84%B9%EF%B8%8F-this-system-uses-"><table border="1" style="border-collapse: collapse; background-color: rgb(191, 237, 210);"><colgroup><col width="24"></col><col width="600"></col></colgroup><tbody><tr><td>ℹ️

</td><td>This system uses your website at solidarityeconomy.ca. All poll links point there. Results are recorded on the backend of the Civi Report as link clicks.

</td></tr></tbody></table>

</div>## How a Poll URL Works

Every poll link is a regular web address with extra information attached. The extra information — called query parameters — tells the website what poll this is, what the reader voted for, and what message to show them.

A URL with query parameters looks like this:

<div align="left" dir="ltr" id="bkmrk-https%3A%2F%2Fsolidarityec"><table border="1" style="border-collapse: collapse; background-color: rgb(236, 240, 241);"><colgroup><col width="624"></col></colgroup><tbody><tr><td><span style="color: rgb(0, 0, 0);">https://solidarityeconomy.ca?poll=pollName&amp;vote=optionName&amp;toastHead=Thank%20you!&amp;toast=Your%20vote%20has%20been%20recorded</span>

</td></tr></tbody></table>

</div>Breaking it down:

<div align="left" dir="ltr" id="bkmrk-https%3A%2F%2Fsolidarityec-1"><table style="width: 69.5238%; height: 284.969px;"><colgroup><col style="width: 57.363%;"></col><col style="width: 42.4658%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">https://solidarityeconomy.ca

</td><td style="height: 29.7969px;">base URL (always this)

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">?

</td><td style="height: 29.7969px;">marks the start of query parameters

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">poll=pollName

</td><td style="height: 29.7969px;">identifies which poll this is

</td></tr><tr style="height: 46.5938px;"><td style="height: 46.5938px;">&amp;

</td><td style="height: 46.5938px;">connects each parameter to the next

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">vote=optionName

</td><td style="height: 29.7969px;">records which option was selected

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">&amp;

</td><td style="height: 29.7969px;">connects to the next parameter

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">toastHead=Thank%20you!

</td><td style="height: 29.7969px;">header text shown after voting

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">&amp;

</td><td style="height: 29.7969px;">connects to the next parameter

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">toast=Your%20vote%20has%20been%20recorded

</td><td style="height: 29.7969px;">body text shown after voting

</td></tr></tbody></table>

</div><div align="left" dir="ltr" id="bkmrk-%E2%84%B9%EF%B8%8F-%2520-is-how-you-wr"><table border="1" style="border-collapse: collapse; background-color: rgb(191, 237, 210);"><colgroup><col width="24"></col><col width="600"></col></colgroup><tbody><tr><td>ℹ️

</td><td>%20 is how you write a space in a URL. Replace any spaces in your toast text with %20. You can also use other characters: %21 = !, %27 = '. When in doubt, keep toast text short and simple.

</td></tr></tbody></table>

</div>## Step-by-Step

### Step 1: Write your poll question &amp; answer options

- Write a clear, single-question poll. Keep it to 3–5 answer options.
- Make sure the options are mutually exclusive — each reader clicks only one link.
- Note down a short camelCase label for each option. This becomes your vote value.

Example:

<div align="left" dir="ltr" id="bkmrk-answer-option-vote%3D-"><table><colgroup><col width="347"></col><col width="277"></col></colgroup><tbody><tr><td>Answer option

</td><td>vote= label

</td></tr><tr><td>Not knowing where to look or who to contact

</td><td>where

</td></tr><tr><td>I don’t have connections in the sectors I want

</td><td>connect

</td></tr><tr><td>I don’t know what jobs are available

</td><td>jobs

</td></tr><tr><td>I have skills but lack formal credentials

</td><td>experience

</td></tr><tr><td>Language barriers (French proficiency)

</td><td>language

</td></tr></tbody></table>

</div>### Step 2: Choose Poll Name

- Pick a short, descriptive camelCase name for your poll. This is your poll= value.
- It must be the same across all URLs for this poll — this is how the system knows the votes belong together.
- Make it descriptive enough that you’ll recognize it in your data later.

<span style="color: rgb(22, 145, 121);">✓ Good</span>: jobBarriers, curricFeedback, eventInterest  
<span style="color: rgb(224, 62, 45);">✗ Avoid: </span>poll1, test, myPoll

### Step 3: Build one URL per answer option

- Use this template for each option:

<div align="left" dir="ltr" id="bkmrk-https%3A%2F%2Fsolidarityec-2"><table border="1" style="border-collapse: collapse; background-color: rgb(206, 212, 217);"><colgroup><col width="624"></col></colgroup><tbody><tr><td>https://solidarityeconomy.ca?poll=POLLNAME&amp;vote=VOTEOPTION&amp;toastHead=HEADTEXT&amp;toast=BODYTEXT

</td></tr></tbody></table>

</div>- Replace POLLNAME with your poll name (same for all URLs).
- Replace VOTEOPTION with the unique label for each answer (different for each URL).
- Replace HEADTEXT and BODYTEXT with your confirmation message (same for all URLs, spaces as %20).

Full example for the jobBarriers poll:

<div align="left" dir="ltr" id="bkmrk-https%3A%2F%2Fsolidarityec-3"><table border="1" style="border-collapse: collapse; background-color: rgb(206, 212, 217);"><colgroup><col width="624"></col></colgroup><tbody><tr><td>https://solidarityeconomy.ca?poll=jobBarriers&amp;vote=where&amp;toastHead=Thank%20you%20for%20voting!&amp;toast=Your%20vote%20has%20been%20recorded

https://solidarityeconomy.ca?poll=jobBarriers&amp;vote=connect&amp;toastHead=Thank%20you%20for%20voting!&amp;toast=Your%20vote%20has%20been%20recorded

https://solidarityeconomy.ca?poll=jobBarriers&amp;vote=jobs&amp;toastHead=Thank%20you%20for%20voting!&amp;toast=Your%20vote%20has%20been%20recorded

https://solidarityeconomy.ca?poll=jobBarriers&amp;vote=experience&amp;toastHead=Thank%20you%20for%20voting!&amp;toast=Your%20vote%20has%20been%20recorded

https://solidarityeconomy.ca?poll=jobBarriers&amp;vote=language&amp;toastHead=Thank%20you%20for%20voting!&amp;toast=Your%20vote%20has%20been%20recorded

</td></tr></tbody></table>

</div>### Step 4: Embed links in the newsletter

- Present the poll question as a heading or bold line.
- List each answer option as a clickable button or hyperlinked text.
- Hyperlink each answer option to its corresponding URL from Step 4.
- Do not display the raw URL — link from the answer text itself.

Example layout in the newsletter:

<div align="left" dir="ltr" id="bkmrk-what-barriers-have-y"><table><colgroup><col width="624"></col></colgroup><tbody><tr><td>What barriers have you faced when trying to find work in the SSE?

→ Not knowing where to look or who to contact

→ I don’t have connections in the sectors I want

→ I don’t know what jobs are actually available

→ I have skills but lack formal credentials

→ Language barriers (French proficiency)

</td></tr></tbody></table>

</div>### Step 5: Test Before Sending

- Click each link in your draft and confirm:

- [ ] The page loads at solidarityeconomy.ca
- [ ] The confirmation message (toastHead and toast) appears correctly
- [ ] No typos in the toast text
- [ ] Check that each answer option links to a different URL (different vote= value).
- [ ] Check that all URLs share the same poll= name.