Skip to content

Create an Election

This guide walks through creating and distributing a Spokane Mountaineers secret-ballot election using the Election Manager web app.

You will need:

  • Access to the Election Manager (requires a spokanemountaineers.org Google account)
  • The list of candidate names for each position on the ballot
  • A list of member email addresses to receive ballots

Step 1 — Open the Election Manager

Open the Election Manager. You will see two options:

  • Create New Election — set up a new ballot from scratch
  • Manage Existing Election — load a previously created election

Click Create New Election.


Step 2 — Fill in election details

Four fields appear at the top of the form:

Election Title — Enter a descriptive name, such as 2026 Annual Officers Election. This becomes the name of the Google Form and the response spreadsheet.

Start Date — The date voting opens. Once this date is reached, the election locks and most fields can no longer be edited.

Close Date — The last day members can submit a vote.

Save To Folder — Choose the year folder where the election files will be stored (e.g., 2026). If the year folder does not exist yet, select + Create New Folder... and type the folder name.


Step 3 — Build the ballot

The ballot section lists five preset positions. Check the box next to each position that appears on this election's ballot:

  • President (members choose one)
  • Vice President (members choose one)
  • Treasurer (members choose one)
  • Secretary (members choose one)
  • Board of Directors (members may choose multiple)

When you check a position, a candidate entry field appears beneath it. Type each candidate's name and press Enter (or comma) to add them. Each name appears as a tag — click the × on a tag to remove it. You can also paste a comma-separated list of names all at once.

Candidate names are automatically formatted in title case, and duplicates are removed.

A candidate may only appear under one position. If the same name is entered under two different positions, the form will alert you before saving.


Step 4 — Add the member email list

Paste all member email addresses into the Member Email List field, one per line. The app accepts a plain list, cleans up duplicates, and flags any addresses that look malformed.

The counter above the field shows how many valid addresses are loaded.


Step 5 — Create the election

Click Initialize Election & Create Form.

The app will:

  1. Create a Google Form with your ballot questions
  2. Create a Google Spreadsheet to store responses and track voting tokens
  3. Move both files into the year folder you selected

When it finishes, a Send Email card appears below the form.


Step 6 — Send the ballots

The Send Email card shows the election name and links to the ballot form and response spreadsheet. Review these links to confirm everything looks correct before sending.

Pick an email template, then click Send test to myself. You will receive one copy with a dummy voting link, so you can check the wording and layout before anything goes to members.

Check the test somewhere other than Gmail

Gmail is unusually forgiving about how an email is put together, so a message that is subtly malformed can look perfect there and arrive as unreadable raw code in Apple Mail, iCloud or Outlook. This has happened, to a full membership send.

Before a large run, use Chosen addresses (below) to send one real ballot to yourself at a non-Gmail address, and open it there.

When the test looks right, click Send ballots. A confirmation panel shows how many people will be emailed, which template will be used, and roughly how long it will take. Type the recipient count into the box to unlock the Start sending button — this step exists because a send cannot be recalled.

Each member receives a personalized email with a unique voting link. The link pre-fills their token into the ballot form, so they do not need to copy or type anything. Once a token is used it cannot be used again.

While it is sending

A progress panel replaces the buttons and shows how many messages have gone out, the percentage complete, and an estimated time remaining.

A full membership send takes about 20 minutes. Google limits how fast any account can send mail, and the app deliberately stays under that limit — going faster risks getting the club's email account blocked for a day.

  • Pause stops after the current batch. Continue picks up where it left off.
  • Cancel run stops the send. Messages already delivered cannot be recalled.
  • Keep the page open while it runs. If the tab does close, nothing is lost: reopen the election and the card offers Resume sending. Nobody who already received the email will get it a second time.
  • Any address that fails is listed at the end with the reason, along with a Retry failed addresses button.

Sending to specific addresses

Every campaign can be pointed at a chosen list instead of the whole membership. Use it to send one real ballot to yourself before a big run, or to put right a batch that went out wrong without disturbing anyone it reached correctly.

Switch the audience control from Everyone eligible to Chosen addresses and type the addresses one per line. A line starting with @ stands for every member at that domain, so @icloud.com covers all of them without you listing them out.

Click Check list before sending. It shows how many will receive it, how many are getting a second copy, how many have already voted and are being skipped, and — most importantly — any address that is not in the member list, which is usually a typo. The addresses themselves are listed so you can read them. The send button then tells you the exact number it is about to mail.

A few things the app handles for you:

  • Nobody gets a second live ballot. A resent email carries the token already in that member's inbox.
  • Anyone who has already voted is skipped, because their link is spent.
  • A later full send skips anyone this run already reached.

Daily sending limit

The club's Google account can send about 2,000 emails a day. The app tracks its own usage and will pause a run rather than exceed the limit — if that happens, come back the next day and click Resume sending.

Because of this, do not send ballots and a reminder to the full membership on the same day. Space them at least a day apart.


Sending reminders

Further down the Send Email card are Reminder and Last call. Both work exactly like the ballot send — pick a template, send yourself a test, then start the run.

These go only to members who have not voted yet. Anyone whose ballot is already recorded is skipped automatically. Both can also be pointed at a chosen list of addresses in the same way as the ballot send.


After the election closes

Once the close date has passed, the election is permanently read-only. Vote results are in the Vote Results tab of the response spreadsheet. Each row is an anonymized ballot — member identities are not stored alongside their votes.


Editing an election before voting opens

If you need to correct the ballot or update the member list before the start date, open the Election Manager, click Manage Existing Election, select the election from the dropdown, and click Load Election. Make your changes and use Save Ballot Changes or Save Updated Email List as appropriate.

Once ballots have gone out, the existing member list can only be added to. Reordering or removing a line is refused, because each member's voting token is tied to their position in the list — shuffling it would hand people the wrong ballot. New addresses appended to the end are fine, and a second Send ballots run will mail only those new members.

Once the start date is reached, fields are locked. A yellow banner will appear if you need to make a correction to a live election — check the Locked toggle and confirm the dialog to unlock it temporarily. An audit notification will be sent to the tech team when an in-progress election is unlocked.


Need help?

Contact the tech team at webdev@spokanemountaineers.org.