
Over the last two years, I’ve had the pleasure of working with the team at WeMove Europe to help them migrate their advocacy and fundraising work from another platform over to ActionKit. Now that this engagement has wound down, I thought it might be interesting to review one of the key features we developed to support the organization’s requirements.
Challenge: Multilingual ActionKit
WeMove Europe is an independent advocacy organization driven by its community of hundreds of thousands working together to achieve progressive political change. To run campaigns across Europe requires supporting multiple languages — often seven or more languages at once — each with their own collection of ActionKit pages and mailings.
ActionKit provides a framework for multilingual support, including translation tables and a language picker that lets users switch between several translations of a page. However, if your organization manages a large collection of multilingual campaigns, each of which might include multi-step asks (including petition-then-donation and signup-then-share-then-survey), each repeated in multiple languages, each with multiple mailings (including kickers and report-backs), you can end up with a bewildering maze of dozens of related pages and mailings — and no way to view or manage the entire group at once.
Solution: Campaign Admin Dashboard
To address this need, I worked with WeMove staff to develop an interactive admin dashboard for their multilingual campaigns. Powered by custom JavaScript and the ActionKit API, the campaign dashboard lets their team of organizers quickly create and manage groups of related pages and mailings.
A Visual Tour
The campaign dashboard is defined and accessed the same way other ActionKit dashboards are — using the Reports tab.

When you open the dashboard, it uses the API to load the current list of campaigns. (To preserve confidentiality, I’ve obscured portions of the campaign names below.)

Organizers can quickly find campaigns by month or topic. (Because the dashboard functionality runs live in the browser, the type-to-search results appear instantly.)

Clicking into any of the campaigns displays metadata and a matrix of related action pages. Each language supported by the campaign can contain one or more multi-step page sequences. Important fields can be edited inline, or staff can click through to manage the associated pages individually.

You can add more pages as a step in the existing sequences, or as independent actions.

The pages in each multi-step process are assigned custom fields that link them to the other pages in the chain, and custom logic in the templateset code handles redirecting users from one step to the next as they complete the appropriate actions.

A similar workflow allows for the creation of mailings in multiple languages, while prompting for metadata that will allow for detailed analysis and apples-to-apples comparisons of mailing performance.

All of the mailings associated with a campaign are listed side by side, while custom fields and structured note data allow for reports to be run on groups of mailings within or across campaigns as needed.

Conclusion
WeMove’s organizers could have created each of those pages and mailings using the built-in features of ActionKit, and used naming conventions or external documents to try to keep track of how they were all related to each other — but that process would be laborious and error-prone.
By building an interactive campaign administration tool that reflects the specific way their organization uses ActionKit, we were able to provide an integrated display of pages and mailings relevant to a particular campaign, and systematize the setup for new pages and mailings to ensure they have consistent metadata.
The entire tool is delivered as a dashboard within the ActionKit admin interface, so staff don’t have to manage additional websites, learn a new interface, or deal with additional passwords and permissions. Under the hood, the dashboard calls the ActionKit API to directly retrieve and update core records and custom fields, so all changes are immediately available elsewhere within the admin interface with no delay for synchronization, and all campaign information can be accessed in SQL and query-builder reports rather than being locked up in a third-party tool.
Building this interactive dashboard was an interesting challenge, and I’m glad we found a solution that allowed their staff to work more efficiently and get more value out of ActionKit.
Leave a Reply