LPIN WordPress and CiviCRM multisite to enhance county access and fundraising

Key takeaways

  • Hiearchical access at state, region and county level: Immediate access at all levels for a relevant volunteer based upon their position the party using CiviCRM multisite
  • Synergy between state and county affiliates: Maintain data under one umbrella encompassing county affiliates and leverage local volunteers to recruit and retain state party members
  • Technical stability: Volunteers focus on “sales” and not on back office operations or system setup. Retain data and continuous improvement (avoid changing systems every couple board terms that creates instability)
  • Build data for future campaigns: Build supporter data for future candidate campaigns

Scenario

The project plan focused on implementing and migrating the Indiana data from the LNC (Libertarian National Committee) CiviCRM multisite to a WordPress (WP) and CiviCRM instance in multisite mode owned and controlled by the Libertarian Party of Indiana (LPIN).

LPIN previously utilized the CiviCRM multisite at the LNC since the fall of 2020. Before that, they came from WildApricot which served as their membership management solution. During their use of CiviCRM, they saw significant uptick in fundraising with 2021 reaching $117,044. In 2022, the focus was on candidates, in particularly their SoS candidate fundraising so it came in at $72,184.

For their volunteer users, their weekly average user rate (WAU) ranged from 15-25 users; the highest in the country. And for their power users, their reliance on it to engage and cultivate members was essential. Being a SaaS-oriented solution, states relied on the LNC to maintain and provide support (directly or thru vendors) which had massive economics of scale benefits.

However, changes within the national party and a subsequent priority shift necessitated that LPIN consider an alternative. Even before this point, LPIN was already outgrowing the baseline level of support offered and in search of a higher level of support and control.

The solution

Access to all chapters

A fundamental challenge on scaling a system that has a wide range of users is properly permissioning various screens and actions.

The LPIN has a state, district and county organizations structure. To have users only see the correct contacts at each level, the system exclusively uses the relationship approach via the Related Permissions extension. Contacts are assigned to the lowest level and inherited down through the hierarchy.  Their users still access CiviCRM admin, so simplifying user menus, CiviCRM search actions and building dynamic reports were critical to end user satisfaction. 

The hierarchy chart below outlines the access levels:

Level of AccessDescription
AdministratorFor people in charge of the website including IT Director and Chair. Full system capabilities.
State AdminFor power users performing administrative functions such as user access and reports. Full data administration capabilities
State LeaderFor all other state level users managing data and website content
District LeaderFor officers of district affiliates, e.g. Congressional districts
County LeaderFor officers of county affiliates
County VolunteerFor newer volunteers and non-officers of county affiliates

In short, the goal is to empower the most local volunteers to do effective outreach to new signups, current and former members and voters. From the CRM side, making filterable dashlets that can quickly pull up members, volunteers and new subscribers allows LPIN volunteers at all levels to engage their constituents collaboratively. 

County affiliates have autonomy to send out mass emails independently. From a website side, they can easily add local events.

Quick action links dashboard

In place of the normal WordPress dashboard is a custom WordPress Welcome Panel. This takes over the default welcome panel that’s not so useful to most users and provides quick links to WordPress content creation or reports that all users find beneficial.

Multisite global searches

Network-wide searchable reports makes it easy to provide access to highly requested data to all county users. These include reports for members, donors, subscribers, volunteers and run for office inquiries built with the modern search UI of Search Kit and Form Builder.

Simplified data entry

Users rely on custom profile forms for creating new individuals, committees and candidates. To generate candidates, we leveraged Caldera Forms to create relationships between the candidate and their individual profile.

Appending voter registration data

LPIN can track voter registration fields such as Voter ID, registration status and an individual’s district boundaries. Most frequently used is a third party data append service via L2; the system is aligned to accept this external data source.

To build a depth of supporter data, it also allows detailed tracking of political issues and yard signs.

Candidate data management

On the candidate front, there is tracking of the campaign’s overview, results, and opposition. This is synced with the public, front-end directory so campaign data management from the state party view is simplified.

User security and data protection

User request workflow

As part of a custom workflow for granting user access, a user request process flow was created using Caldera Forms and CiviRules. First, a volunteer submits a request that details what district or county affiliate they are involved with along with core contact information. This auto-generates the contact and alerts admins of the new signup plus a dashlet report. Subsequently, this action automatically creates a Non-Disclosure Agreement (NDA) activity to be electronically signed by the user. To achieve this, strict controls to restrict the NDA field are put in place so it can only be “self-signed”.

Once a user signs an NDA, they show up on a user request report that allows a state admin (or any user with user management permissions) to generate the user directly from this “User Requests” screen only.

Note creating the user on the CRM side prevents the unfortunate behavior on multisite of routinely creating a duplicate because the name and email did not match the defined dedupe rule. Therefore, we sidestep that issue entirely and let CiviCRM be the starting point for user creation.

CiviCRM search actions

Search actions, a place of great power and … potential data management woes. Are you a county leader? You can log phone calls / other activities, generate email lists but you can’t batch update contacts, delete contacts or contribution data. TLDR: Data Admin type tasks that can have crippling effects if not used properly.

These types of measures are essential guardrails to ensure that data integrity remains high.

The major benefit of taking this approach via hooks versus configuring on each Search Kit Display is that the actions are dynamically available based on the access level and are globally enforced. Just set it and forget it.

Contribution access control

Who can manage contributions is controlled depending on what access level you have. For example:

  • State Admins and State Leaders can add, view and edit all contributions
  • District Leaders can view state contributions, edit their own and county affiliate contributions.
  • County leaders can add county contributions but not edit state contributions
  • County Volunteers can only view county, district and state donations

Additionally, candidates can add their donations and tag them to their campaign.

CiviCRM data migration

It’s not typical to hear of a CiviCRM multisite to CiviCRM multisite migration, but we did it. Importantly, we exported out only the Indiana data set into a fresh CiviCRM multisite install. From there it was migrated like any other system. 

An area of challenge and a must-have requirement was ensuring that the Stripe webhooks continued to process, as LPIN had over 583 recurring contributions to keep active and reporting back properly.

To that end, most of these were memberships, so linking the contributions to the memberships was essential. Piecing the data back together involved direct data manipulation and verification in MySQL; tying contributions, memberships and its history log, webhooks, Stripe customers all back together.

Or put another way, a database that had no data loss. In total we migrated all contacts, their contributions, memberships, activities and relationships and their Mosaico email templates.

So, mirroring CiviCRM behavior achieved the following:

  • Successful processing of membership recurring contributions
  • Membership history log
  • Event participants linked with associated contributions
EntityTotal
Individuals12,015
Candidate Campaigns496
Affiliates103
Employers2,092
Activities29,808
Contributions10,544
Memberships1,383
Event Participants532
Relationships11,163
Stripe Webhooks583

System sustainability

With full control comes responsibility and caution. To empower LPIN we’ve started a training program so the LPIN’s IT Director and their team can manage the day to day tasks. 

This involves generating contribution pages with progress bars, event pages using price sets, understanding Search Kit, list segmentation, email marketing, user management and data imports from candidates, the Secretary of State, L2 data append service and the LNC data dump to keep national membership data up-to-date.

Andy took the time to fully understand our immediate needs and limitations. He also worked with us to develop a process to keep our short and long term development/features goals moving forward at our pace. This ensures that implementations done today also consider the impacts on future planned enhancements.

— Evan McMahon , Chair

Results

By moving to a unified, fully owned CiviCRM system, LPIN gained full control over its data and infrastructure. Administrators now have unrestricted access to SearchKit / Form Builder, imports, managing contribution pages, price sets and events, enabling them to do admin tasks without waiting on external sources. This autonomy has built back user confidence in the system.

A migration from the national party multisite to a new state party multisite migration was performed retaining all data relevant to Indiana ensuring no disruption in fundraising occurred. Additional data cleanup was done during the move.

This operates as a network of sites for its state and county affiliates, creating a cohesive network that achieves economies of scale, payment processing and mass email for each affiliate, uniformity of processes and user training.  The network officially launched on August 30, 2023.