Back to Why We Built

Why we built message personalization

Non-basic, easy-to-use, personalized advocacy messages

Tom Spencer
6 min read
Copied!
Why we built message personalization

Ada's TL;DR digest

Legislative offices count identical form emails instead of reading them, and the facts that would make a message land sit unused in the organization's spreadsheets. We built personalization on three data layers: personas for who is writing, tracks for where each lawmaker stands, and the organization's own data about every district. Five hundred advocates click once and five hundred different emails arrive, each anchored in the sender's district and the lawmaker's record, with setup that takes a spreadsheet rather than a project.

Legislative offices don't read form emails. They count them. When five hundred identical messages land in an inbox, staff tally them as "500 in favor" and move on. Advocates can feel it too. There's not much conviction in hitting send on a message that feels generic.

Our clients kept describing the same problem from the other side. A trade association knows each member's industry segment. A state coalition knows the economic impact in each district, or how many jobs are in each region. All of that knowledge sits in spreadsheets while the platform sent everyone the same message.

Every feature we've built started as a customer suggestion. They all pointed at the same two gaps: advocate personalization is lost, and the knowledge organizations already hold never reaches the inbox. So we designed our personalization system around closing them.

"AdvocacyAI’s use of artificial intelligence to analyze and develop profiles of our audience, as well as the ability to segment and engage advocates in the future, are some of the most exciting features in grassroots today."

The two obvious answers, and why they aren't enough

The industry default is an edit box: hand the advocate a form email and hope they change it. Most don't. They're busy, and the entire point of a form action is that it takes thirty seconds. Editing has its place, and advocates with real expertise should take that time. But even the advocate who rewrites every line cannot add what they do not know. No advocate walks around knowing how many jobs their industry supports in their senator's district. The facts that make an email land live with the organization, and an edit box cannot reach them.

The other tempting answer is to let AI write a unique email for every advocate. We use AI, but for where it helps advocacy professionals do their jobs. It does not ghostwrite on an advocate's behalf. Watching a machine compose your message is a poor introduction to advocating for something you care about, and the output still contains nothing your organization knows. Generated variety is not relevance.

So we built personalization around real data from the advocate, the organization, and the elected representative.

1. Who's writing: Personas

Advocates match personas from things you already know about them. The answers they've given on your custom fields: member type, profession, chapter, issue they care about. Where they live, down to state, county, and city, so a message can open with the local angle without anyone typing it.

You write campaign content once per persona, and at send time each advocate gets the specific variation they most closely match. A teacher gets the classroom version. A small-business owner gets the payroll version. An advocate in the capital city gets the one that names it. Same campaign, same click, different content.

Our newest layer goes one step deeper, into the data behind an answer. Any option an advocate can pick, whether a member organization, a school, or a facility, can carry metadata, and any metadata column can become a persona. The email to a lawmaker suddenly includes the school district budget, the number of teachers in a district, anything your organization tracks.

A Member Company custom field where every option carries an Industry Segment metadata value
An options list with one metadata column. Three distinct values in that column become three personas.

2. Who's receiving: Tracks

The same message should not go to your bill's sponsor and to the chair who's blocking it. Tracks group a campaign's targets by where they stand, whether champion, persuadable, or opposed, using knowledge your government affairs team already carries around in their heads.

You then write the messaging for each track, with as many versions as you want behind each one. The sponsor's track says thank you and asks them to hold firm. The persuadable track makes the constituent case. The opposition track counts heads in the district. Selection happens per recipient at send time, which matters more than it sounds: an advocate matched to three lawmakers sends three different personalized emails with one click.

Selected campaign targets, each with a track assignment dropdown
Assigning tracks on the target page: each lawmaker tagged Support, Persuadable, or Oppose.

3. Relevance: Your data

Organizations track things about lawmakers that no platform should presume to model for them. The jobs their industry supports in each district. The economic impact of a policy there. The plants and members in each lawmaker's backyard. That knowledge is what makes an argument land, and whatever your team tracks about a lawmaker becomes part of the message.

The write step: sender persona, recipient profile, and the track selector open on Support, Persuadable, Oppose
Where the layers meet: one variation, addressed to a persona, aimed at a track.

Here is the same campaign, the same thirty-second click, landing in two different offices. One senator introduced the bill. The other has not taken a position. The senders are different people, in different districts, with different stakes. Nobody wrote a word by hand.

What the sponsor's office receives
Inbox
P

Paul Kessler

to Office of Senator Alvarez

Thank You for Supporting 1,900 Manufacturing Jobs in Owego

Dear Senator Alvarez,

As a small manufacturing business owner in Owego, I want to thank you for introducing SB 214. Manufacturing supports 1,900 jobs in our district, and this bill helps keep that work here. Please stand by it when it reaches committee.

Thank you for your leadership.

Paul

What the undecided office receives
Inbox
D

Dana Reyes

to Office of Senator Whitfield

Please Protect 4,100 Manufacturing Jobs in Marion

Dear Senator Whitfield,

As a plant manager in Marion, I am writing to ask you to support SB 214. Manufacturing supports 4,100 jobs in your district, and this bill matters to those of us doing that work. I hope you will give it careful consideration before the committee vote.

Thank you for your time.

Dana

A staffer can tally five hundred identical emails in a spreadsheet without reading past the subject line. Five hundred different emails, each anchored in the sender's district and the lawmaker's own record, don't tally. They have to be read. Getting read is the entire job.

Why we obsessed over setup

None of this survives contact with a real team if it is hard to set up. Advocacy staff are stretched. If a feature takes weeks of hand-holding to configure, it does not get used. In practice it looks like this:

  • Personas: the member list you were uploading anyway, with one extra column, or a simple custom dropdown on a form.
  • Tracks: assigned from a dropdown next to each lawmaker while you're picking targets. Stance data that used to live in one person's head now decides which message each office receives.
  • Data: a CSV of what your team already knows, added as variables in the content you were already writing. You never need to write a generic "protect jobs in your district" again.

And the advocate's experience never changes. Enter an address, review, send. Thirty seconds. All the machinery above runs inside that click.

The design difference is easy to state. Most approaches make personalization the advocate's job, by asking them to edit the message, or the AI's job, by asking it to sound different. We made it the data's job. Who the advocate is, where the lawmaker stands, and what the organization knows about both: that's where relevance actually lives.

See one-to-one messaging running on your own data.