
A national advocacy nonprofit came to Pam Ann Marketing after discovering that every form submission on their campaign site was triggering three separate Google Ads conversions simultaneously. They had been running paid campaigns for months against data that was inflated in ways nobody could trace. Their marketing manager, a self-taught generalist handling social media, digital advertising, and email, had built the tracking setup piece by piece across three web properties, multiple agency relationships, and several staff transitions. Tags and pixels were technically installed across all three sites and four ad platforms. Nobody could say with confidence which ones were working, which were broken, and which were silently double-counting.
What looked like a functional measurement setup was, on closer inspection, a stack of contradictions: paused tags left over from a previous website build, three GA4 properties loading simultaneously on a single Shopify store page, conversions firing from three separate sources for a single user action, and pixels tied to triggers that never fired for the forms they were supposed to track. A major annual campaign with a hard launch deadline was weeks away, and a new product line in the Shopify store had no connection to Google Ads at all.
This case study documents how we applied our Audit, Build, Document approach across three web properties and four ad platforms over two months, including what we found, how we fixed it, and what we left behind so the team could maintain the setup independently.
- Industry: Nonprofit, Advocacy and Public Engagement
- Client Type: National Nonprofit (B2C and B2B)
- Engagement: Project-Based (Hourly)
- Timeline: 2 Months
- Core Services: GTM Audit, GA4 Configuration, Conversion Tracking, Multi-Platform Pixel Management, Shopify E-Commerce Tracking, Analytics Documentation and SOPs
At a glance:
- Triple-firing Google Ads conversions (3 simultaneous events per form submission) traced to their sources and a consolidation path established
- GA4 verified and corrected across 3 web properties, including 3 duplicate properties removed from a single Shopify store page
- Annual campaign conversion tracking verified and live before voting opened
- Shopify purchase events connected to Google Ads in time for new product launch
- Complete tracking asset inventory and pre-launch SOP checklist delivered at project close
The Problem: A Tracking Setup That Looked Fine and Wasn’t
Before engaging Pam Ann Marketing, the organization’s marketing manager had done their best to build a tracking foundation independently. They had Google Tag Manager containers on three websites, pixels installed across four ad platforms, and GA4 collecting data. But “collecting data” and “collecting accurate data” turned out to be very different things.
When we first ran a test form submission together, Google Ads recorded three separate conversions for a single user action. Nobody had noticed because the numbers had always looked roughly plausible. The problem was not just that conversions were over-counted. It was that nobody could locate the source of the duplicates, which meant nobody could fix them without risking breaking something else.
The team was making ad spend decisions against data they suspected was wrong but had no way to verify. Meanwhile, the annual campaign was approaching launch with unverified conversion tracking, the Shopify store’s new product line had no cost-per-acquisition data flowing to Google Ads, and there was no written record of what any of the existing setup was supposed to do.
Questions the team could not answer before we started:
- Were Google Ads conversion counts accurate, or were they inflated by duplicate tracking from multiple sources?
- Was GA4 collecting data from the right property across all three websites, or were some properties pointing to the wrong place?
- Which of the four ad platform pixels were firing correctly, and which were silently failing?
- Were campaign-specific conversions being tracked separately from unrelated form submissions on the same site?
- Were Shopify purchases visible in Google Ads for cost-per-acquisition reporting?
- If something broke next quarter, would anyone know where to look or what to check first?
Why Tracking Debt Accumulates in Nonprofit Marketing Teams
Nonprofits face a specific tracking challenge that for-profit brands rarely deal with to the same degree. Marketing responsibilities are distributed across multiple people, outside agencies, and developers who each touch the tracking setup once and move on. An agency installs a pixel for one campaign. A developer adds a GTM container when the site relaunches. A previous staff member connects GA4 to the store. Nobody removes anything when the situation changes, and nobody maintains a complete map of what is actually live.
The result is what we call tracking debt: a setup that has been configured repeatedly, but never coherently. Tags are named after the staging environment they were first built in. Conversion events are hardcoded in the form platform’s third-party settings, in Tag Manager triggers, and in the ad platform simultaneously, which is exactly how a single form submission ends up recording as three separate Google Ads conversions. A paused tag might be paused because it was deliberately replaced, or because someone meant to delete it and forgot. Three GA4 properties loading on the same Shopify page is not the result of negligence; it is the result of three separate people solving the same problem in three different moments.
This kind of debt is nearly universal for organizations that have run digital marketing for more than a few years without a dedicated analytics specialist. The problem is not incompetence. Tracking tools reward deliberate architecture, and most teams build them reactively, one campaign at a time. And even when someone does a cleanup, it often goes undocumented, so the next person who touches the setup has no reference point for what is intentional and what is leftover.
What We Did: Audit, Build, Document
Our approach to complex GTM and GA4 engagements follows three phases: Audit first (understand what is actually deployed and what is broken, using live tools rather than documentation), Build second (fix the foundation and implement clean tracking before any campaign relies on it), Document third (create a written record of what exists and how to maintain it, so the work does not disappear the next time someone unfamiliar touches the account). Here is how that played out across this engagement.
Phase 1 Audit: Live GTM Review with Preview Mode
Rather than working from documentation that might not reflect what was actually deployed, we started every session in GTM’s Preview Mode, which intercepts real tag fires on the live site and shows exactly what fired, what didn’t fire, and why. This was also a hands-on training session: the client had never used Preview Mode as a debugging tool. By the end of the first session, they could navigate it independently.
In that first session, we immediately surfaced:
- Conflicting GA4 configurations creating a redundant setup across the main site, making it impossible to know which property data was going to
- A Google Tag named after a pre-launch staging environment, causing confusion when diagnosing issues in Tag Assistant
- Three simultaneous Google Ads conversion events firing for every single form submission, inflating reported conversion counts by 3x
- Ad platform pixels tied to triggers that never fired for the forms they were meant to track across four platforms
Phase 1 Audit: GA4 Foundation and the Triple-Firing Diagnosis
Before optimizing anything, we confirmed the GA4 setup was stable. We verified which GA4 measurement ID was live on each of the three websites, renamed the misidentified Google Tag to match its actual property, and confirmed data was flowing to the correct GA4 property. On the Shopify store, we identified three separate GA4 properties loading simultaneously on every page, which required coordinating with the organization’s in-house developer to resolve.
The three simultaneous Google Ads conversions came from three separate sources: a Tag Manager trigger on form submit, a conversion pixel embedded directly in the donor management platform’s tracking settings, and a direct GTAG call in that same platform’s configuration panel. We traced each one to its origin, documented where it was coming from, and established a consolidation path: GA4 as the single source of truth, with Google Ads importing key events rather than maintaining its own separate pixel configuration.
Phase 2 Build: Campaign Conversion Tracking Before Launch
The organization runs a major annual campaign during which supporters vote for their favorite participant across a national category tied to the nonprofit’s mission. The voting form lived on a separate campaign website, and voting was opening within days. Conversion tracking had to be verified before the campaign went live, not after.
The complication: the campaign site also hosted an unrelated request form that fired the same GA4 event name as the voting form. We solved this with a GA4 event modification rule that detected the page path and renamed the unrelated form submission to a distinct event name, leaving the voting form submission cleanly isolated. We then marked the voting conversion as a key event in GA4, created it as a Google Ads conversion action linked to the campaign’s dedicated ad account, and verified the full setup was ready before launch day.
Phase 2 Build: Meta Pixel and Compliance
Meta tracking on the campaign site required navigating a platform constraint: the Meta-GA4 native integration was blocked because the ad account had not run active campaigns in the prior 56 days. We worked around this by setting up the vote submission pixel directly in Tag Manager, configuring it with the correct event type and trigger, verifying the domain in Meta Business Manager, and confirming the base pixel was firing on page load before any ad spend went live.
We also identified that the campaign site was missing a privacy policy link in the footer, a compliance requirement for any site running GA4 or Meta pixels, and coordinated with the developer to add it before ads launched.
Phase 2 Build: Shopify E-Commerce Purchase Tracking
The organization launched a new specialized service product in their existing Shopify store and needed purchases tracked in Google Ads for cost-per-conversion reporting. After resolving the three duplicate GA4 properties loading on every store page, we confirmed the correct GA4 property was collecting Shopify data, verified that product view and purchase events were flowing correctly, linked the store’s GA4 property to the main Google Ads account, and configured a purchase conversion action imported from GA4. The new product launched with e-commerce tracking in place from day one.
Phase 3 Document: Tracking Asset Inventory and SOPs
An audit that fixes problems without documenting what was changed is only half-finished. At Pam Ann Marketing, documentation is not optional. It is part of the deliverable.
For this client, we built a tracking asset inventory: a living reference document that captures every GTM container ID and the website it is installed on, every GA4 measurement ID and the property and platform accounts it is linked to, every ad platform conversion action with its name, source GA4 key event, and associated campaign, and the status of every active, paused, and confirmed-inactive pixel across all four platforms. Anyone who inherits this account can open one document and understand what exists.
We also built a Standard Operating Procedure for conversion tracking maintenance: a plain-language pre-launch checklist covering how to use GTM Preview Mode to verify tags are firing correctly, where each platform’s conversion settings live, and what steps to take when a conversion count looks wrong. The goal was a reference the marketing manager could actually use, not a technical document that assumes expertise they do not have.
This documentation serves two purposes. In the short term, it gives the internal team a clear picture of what they own and how to maintain it. In the longer term, it protects the work: when a vendor is added, when staff changes, or when a new agency is onboarded, the next person does not have to reverse-engineer a setup that was never explained.
Services Delivered
- GTM Audit: Comprehensive live review of all tags, triggers, and firing conditions across three web properties using Preview Mode, with hands-on client training.
- GA4 Configuration Cleanup: Verified and corrected tag naming, removed 3 duplicate properties from the Shopify store, and confirmed data was flowing to the correct GA4 property on each website.
- Conversion Tracking Architecture: Traced and resolved triple-firing Google Ads conversions; implemented GA4 as the single source of truth with Google Ads importing key events rather than maintaining independent pixel configuration.
- Campaign Event Tracking: Built GA4 event modification rules and key event configuration to isolate time-sensitive campaign conversions from unrelated form submissions before launch.
- Multi-Platform Pixel Management: Diagnosed and corrected firing issues for Google Ads, Meta, LinkedIn, and Snapchat pixels across multiple sites and container configurations.
- Shopify E-Commerce Tracking: Removed duplicate GA4 configurations, verified purchase event data, and connected the store to Google Ads for campaign-level cost-per-conversion reporting.
- Compliance Gap Identification: Identified missing privacy policy requirements on the campaign site and Shopify store and coordinated with their developer to address them before ad spend increased.
- Tracking Asset Inventory and SOPs: Delivered a comprehensive reference document mapping every GTM container, GA4 property, conversion action, and pixel to its site and account, plus a plain-language pre-launch verification checklist for ongoing maintenance.
Results: What the Team Could Finally See
Before the engagement, the marketing manager was optimizing paid campaigns across four platforms against conversion data they suspected was wrong but had no way to verify, with a major campaign launch approaching and no documentation of what was actually deployed. After two months, they had accurate data, a verified setup across all three web properties, and a written reference system for maintaining it without outside help.
- Conversion inflation eliminated: Three simultaneous Google Ads conversions per form submission were traced to three separate sources and a consolidation path through GA4 was established, replacing inflated counts with accurate ones.
- GA4 verified across all three properties: Duplicate and misnamed configurations were resolved, and each website was confirmed to be sending data to the correct GA4 property.
- Three duplicate properties removed from Shopify: The store went from three conflicting GA4 properties loading on every page to one verified, correctly configured property.
- Annual campaign launched with clean tracking: The voting campaign went live with verified GA4 key events and Google Ads conversion actions ready before voting opened, for the first time in the campaign’s history.
- Voting conversions isolated for the first time: Campaign voting submissions could be viewed in isolation, without noise from an unrelated request form that had been triggering the same event name on the same site.
- Shopify purchase tracking live at product launch: The new product launched with e-commerce purchase events flowing to the Google Ads account for cost-per-conversion reporting from day one.
- Compliance gaps resolved before scaling: Missing privacy policies on both the campaign site and the store were identified and fixed before ad budgets increased.
- Marketing manager equipped to maintain the setup: Through hands-on working sessions, the client built a working understanding of GTM Preview Mode, GA4 event modification rules, and how GA4 key events connect to Google Ads conversion actions.
- Documented system handed off: The team received a complete tracking asset inventory and pre-launch SOP checklist so the next person to touch the account has a reference for what exists, what is intentional, and what to check when something looks wrong.
Key Takeaways for Your Organization
The Problem Is Almost Never What the Dashboard Shows You
This client’s Google Ads dashboard showed conversion data every day. It was wrong by a factor of three, and nobody had noticed because the numbers looked roughly plausible. The only way to find that kind of discrepancy is to run a real test in GTM Preview Mode and watch what actually fires. What you see in live debugging is often very different from what you assumed the setup was doing. If you have never done a live audit of your GTM containers, you do not know what your data is actually measuring.
GA4 Should Be the Single Source of Truth for Ad Conversions
Running parallel conversion tracking, where GA4, Google Ads, and a third-party platform all fire independently for the same event, creates a situation where none of the three can be fully trusted and all three have to be reconciled to find the real number. Configuring GA4 to mark key events and importing those events into Google Ads, rather than hardcoding conversion tags in every platform separately, gives you one number to trust and one place to fix it when something goes wrong.
Multi-Property Organizations Need a Measurement Map
If your organization runs multiple websites, each with its own GTM container, GA4 property, and ad accounts, the absence of a documented map of what sends data where is itself a risk. You may find, as this client did, that three GA4 properties are loading on the same page, or that a conversion event tied to one campaign is firing on a completely different form. The audit is the prerequisite for everything else, and a written asset inventory is the prerequisite for the audit staying useful after it ends.
Conversion Tracking Must Be Verified Before a Campaign Launches
A campaign launched without verified conversion tracking gives you data you cannot act on: you cannot optimize bidding, you cannot calculate cost per acquisition, and you may not even know whether the tracking is working until the campaign is over. Verifying conversion tracking against real form submissions in GTM Preview Mode before launch day is not a nice-to-have. It is the difference between a campaign that teaches you something and one that doesn’t.
Documentation Is What Makes an Audit Last
An audit that fixes problems without documenting what was changed is half-finished. Six months later, the person who was in the room forgets the details. A new staff member inherits a setup they cannot read. A vendor adds a tag without knowing what is already there. The whole cycle of accumulated tracking debt starts again from scratch. A tracking asset inventory and a plain-language SOP do not require expertise to follow. They require only that someone wrote them down when the expertise was in the room. That is the part of this work most agencies skip. It is the part we treat as a deliverable.
Ready to clean up your conversion tracking? Pam Ann Marketing specializes in Google Analytics and GTM audits for organizations that need accurate data before they can optimize. Get in touch to start a conversation.
- How to Optimize Your Article Content for SEO and GEO/AEO - August 28, 2026
- Why All AI-SEO Studies are Flawed (and What to Trust Instead) - March 12, 2026
- How Much AI-Generated Content is Acceptable for SEO Writing? - February 25, 2026



