Zeffy is an all-in-one fundraising platform used by over 100,000 nonprofits, covering donations, ticketing, raffles, and donor management with zero platform fees. Their growth comes from a mix of paid acquisition, organic discovery, and strong word of mouth.
When they reviewed attribution, more than half of signups were classified as Direct or Referral. Given their acquisition mix, this didn't reflect reality. Channels like paid social and word of mouth were clearly contributing, but that contribution was not visible in a consistent way.
51% of signups showed up as Direct or Referral, masking actual acquisition channels
Because attribution could not reliably connect these channels to conversions, they were harder to defend internally.
Search remained the easiest channel to invest in because it showed direct intent and measurable outcomes, while other channels were evaluated with less confidence.
Survey data, product analytics, and marketing data existed but were never combined into one model
Zeffy already had strong building blocks, but they were not working together.
They were collecting survey responses at signup to understand how users discovered Zeffy. This was one of the only ways to capture sources like word of mouth, but it lived inside HubSpot, where attribution logic had become increasingly complex and difficult to maintain.
At the same time, product analytics was built on Amplitude, where the data team had implemented an internal attribution model. This provided a strong behavioral view of the journey, but it did not include survey data, leaving part of the acquisition story out.
Marketing platforms such as Meta and Google each reported their own version of performance, with no consistent way to reconcile them.
Off-the-shelf tools and internal builds did not match Zeffy's needs
Zeffy explored both buying a solution and extending their internal model.
Tools like DreamData and HockeyStack were designed around sales-led B2B funnels. Zeffy operates closer to a self-serve model, even if the journey can be long. That difference made it difficult to apply predefined attribution models in a way that reflected their actual user journeys.
Building internally was a viable option from a technical perspective, but defining the right attribution logic required specific marketing expertise.
Zeffy chose to work with Propel to bring that layer of expertise, with the goal of ending up with a model their data team could own and extend.
"The data team is very strong, but we would not be confident that what we're building is actually the right way to do attribution. We could have gotten there eventually, but it would have taken much more time and iteration to be sure."
Alexandre Piron, Paid Marketing Specialist at ZeffyBuilding a transparent attribution system combining Amplitude, survey data, and custom rules
Attribution rules the marketing team can visualize and modify
The goal was not to introduce another attribution model, but to build a system Zeffy could understand and adjust over time.
The first step was consolidating their data sources. Event data from Amplitude, survey responses collected at signup, and marketing platform data were brought into a single model. Each source filled a gap. Amplitude captured behavior but lacked acquisition context, while survey data captured intent, especially for channels like word of mouth, but had previously been isolated in HubSpot.
Attribution was then defined through explicit rules instead of a fixed model. These rules determine how different signals are interpreted and how credit is assigned across channels. Vanity landing pages could be used to classify traffic when UTMs are missing or inconsistent, and survey responses could override or complement tracked data when users report how they discovered Zeffy.
These rules are not hidden in code. They are fully visible and editable through a UI built by Propel, allowing the marketing team to understand how attribution works and adjust it when needed. This makes attribution something they can reason about and iterate on, rather than something fixed or opaque.
The model also allows Zeffy to exclude or reclassify certain touchpoints to reduce noise, keeping attribution focused on interactions that actually reflect acquisition.
Direct and referral reduced from 51% to 8%
As the model was implemented, conversions that previously fell into Direct and Referral were reassigned to their actual sources. This reflects recovered signal rather than a change in volume.
"My main motivation for the project was to see the impact of some of these top-of-funnel campaigns, even if they're influencing other channels. We know people talk to each other, and they might have seen a video ad or something before converting, but we had no real way to capture that before," shared Alexandre.
"Now we have something flexible. We can play around with the rules, add new channels, and actually see the impact of what we're doing. For example, if we test something new, we'll be able to see how it affects other channels or overall performance, which wasn't really possible before," said Alexandre Piron, Paid Marketing Specialist at Zeffy.
"Now we have something flexible. We can play around with the rules, add new channels, and actually see the impact of what we're doing."
Alexandre Piron, Paid Marketing Specialist at Zeffy~2% of social attribution recovered through user stitching
Part of this shift came from identifying traffic from platforms like Facebook and Instagram that had been misclassified due to tracking limitations. With additional user stitching, 2% of the traffic was reclassified as coming from mobile social.
Survey coverage increased, improving attribution reliability from 80% to ~90%
One of Propel's recommendations was to adjust the survey placement. This increased response rates, strengthening coverage for channels that are not easily captured through tracking alone.
Handing over a model the data team can own and extend
Once the logic Propel built was defined, it was implemented in dbt using YAML-based configurations and integrated into Zeffy's existing data stack.
This means the data team now has full ownership of the model. They can review how attribution is constructed, extend it as new channels are added, and connect it to other parts of the data ecosystem. Rather than relying on an external tool, they have a foundation they can build on, including for internal tools or more advanced workflows over time.
With clearer attribution, Zeffy can now test channels that were previously hard to measure
With a more complete view of acquisition, Zeffy can start evaluating channels beyond search with more confidence.
They are currently testing programmatic display and analyzing its impact across channels and regions, rather than relying only on direct conversions. They are also exploring geo-based approaches to measure lift and digging deeper into referral patterns to understand what drives spikes in acquisition.
The main shift is that these channels can now be evaluated in context, rather than treated as largely unmeasurable.