Saved filters over the electoral register

Drag conditions into a query, from a single check to a complex nested tree, and save it as a filter to apply to door-knocking rounds, leaflet drops, dashboards or your campaign universe, updating the moment it changes. The editor is drag and drop, and the query also exports and imports as JSON, so you can hand-edit it or generate it with an AI of your choice.

The branch Filters page editing a filter named Supporters who voted in 2024, with two conditions on the canvas: score is one of 1 or 2, and voted in the 2024 general election.

In Cadrify, a list of electorsElector nounA person entitled to vote who appears on the electoral register at their address.In Cadrify Every elector is a single ongoing record in Cadrify. Door-knock history, score, voting history and contact details all attach to that one person across every register import and every campaign that uses it. is a saved filter: a set of conditions that is stored once and used across the app, from door-knocking rounds to leaflet drops and dashboards.

Filters are built in a drag-and-drop editor. Fields cover what the doorstep has told you, score, core party affiliation and flags, what the marked register has told you, and what your contact records add. Conditions combine with all, any or none, and sub-groups nest for the awkward cases.

A filter saved at the branch is inherited by every ward beneath it. A filter saved on a ward stays with that ward. Either way the count on screen is the count a round or an export will get, because every surface runs the same filter engine.

How filters work

1

Drag conditions onto the canvas

Open Filters on the branch, or the Filters tab on a ward, and select New filter. The palette on the left lists the fields in groups: Canvass for core party affiliation, score, tactical voting, not knocked and doorstep flags, Voting history for turnout at a named election or since a date, Published donations, Demographics for age band and new to the register, and Contact for member type, tags and email or phone opt-in from linked contact records. Drag a field on, or select it to append it, then set the operator and values.

The bar above the rows sets whether a person must match all of the conditions or any of them. Add sub-group nests another set with its own logic, and a sub-group can be set to none, so excluding people needs no separate step. Include sets the household rule: match the whole household when anyone in it matches, which is what a leaflet drop or a round wants, or only the matching electors when the list is for named individuals.

Give the filter a name and an optional description. The description shows under the name in the saved list, so the next organiser knows what the filter is for.

The filter canvas showing a complex query: score is one of 3, with a nested any-of sub-group for voted in the May 2026 local election or doorstep flags including poster requested. 13 people match.
2

Save it and it appears in the list

Save filter stores the definition. Save as new keeps the original and stores a copy. Each saved filter shows its name, a summary of its conditions, its description and a live count, with controls to edit, duplicate, export and delete. Ward filters saved on individual ward tabs are listed underneath with a link to the ward.

A filter with 0 conditions matches everyone, so saving one is refused until a condition is added.

The Filters page listing saved filters, each with where it applies, its rule, a live count of people and buttons to edit, copy, export or delete it.
3

Use it wherever a list is needed

Assign a door-knocking round with a filter and the door-knocker sees only the electors who match. Set a filter on a leaflet drop and only addresses with a matching elector are delivered. Pick a filter in the scope bar on the branch or ward dashboard and the coverage figures are recalculated for that slice. Set one as the branch universe and coverage is measured against it.

Change the definition once and every one of those reads the new version the next time it runs.

The ward dashboard with the saved filter Strong support, 1s and 2s chosen in its scope bar, and the doors knocked, electors with data and ward summary tiles recalculated for that group.

In practice

Going back to the undecided

Save a filter for everyone scored 3 at the branch. Every ward inherits it. Assign persuasion rounds against it and each door-knocker's list is the undecided in their patch.

Before the postal packs land

Combine postal voters with not knocked and you have the people who will vote in the first week and have never heard from you. Export the list for a phone round, or set it on a leaflet drop so the delivery goes to those doors only.

Building the knock-up list

Score 1 or 2, voted at the last comparable election, not postal. Save it as the knocking-up filter and the polling day rounds and the dashboard both work from it.

Reading the dashboard for one slice

Pick a saved filter in the dashboard's scope bar and the contact rate, score spread and coverage are recalculated for that group of electors. Useful when a ward organiser asks how the persuadables in the ward are moving.

Handing a list to someone outside Cadrify

Choose the columns, export the CSV and pass it on. The export is logged, and the same filter is still there next month for the refreshed version.

FAQ

What can I filter on?

Core party affiliation, score, tactical voting intention, whether and when someone was knocked, doorstep flags such as poster requests with a date range, voting history at a named election or by election type, published donations, age band, how recently someone joined the register, and fields from a linked contact record such as member type, tags and email or phone opt-in.

Is the count I see the count I get?

Yes. The count panel, the preview, the export, rounds, leaflet drops and the dashboard all compile the same saved definition through one filter engine. A saved filter means the same people everywhere it is used.

Do wards inherit branch filters?

Yes. A filter saved at a branch is available on every ward under it, marked with where it came from, and can only be edited at the source. A filter saved on a ward's own Filters tab applies to that ward alone.

Who can build and save filters?

Saving, editing and deleting need the organiser role. Anyone from door-knocker up can see the saved list and its counts. Exports need the organiser role and are written to the audit log.

Can I filter across the whole register or only my patch?

A filter counts and exports within the geography of the branch or ward it is opened on. Your branch's filters never reach into another branch's wards.

What happens if I save a filter with no conditions?

It is refused. An empty condition tree matches everyone, which is never what a list is for.

Does it cost anything?

No. Filters, counts, previews and CSV exports are included in the plan. Nothing here is metered.

What this means for your campaign

The lists a campaign runs on are named definitions everyone can see, with a live count next to each. Rounds, drops, dashboards and exports all draw from them, so the knock-up list on polling day is the same list the dashboard has been tracking for weeks.

Build the four or five filters your campaign needs once and they carry through to the election.

See Cadrify in action

Book a demo and we will walk you through it on a real ward.