MY CART
You have no Items in your cartYour items will show up here when you add them to your shopping cart
Group svg

How to Verify Your Tracking Is Actually Working: QA Checklist

Unpublished

Carlos Vargas

QA checklist for verifying GA4, Meta Pixel, and GTM tracking on your funnel — test procedures, debugging tools, and common failure points.

How to Verify Your Tracking Is Actually Working: The QA Checklist for GA4, Meta Pixel, and GTM

TL;DR: Before you spend a dollar on ads, verify every tracking event fires correctly on every funnel page. This checklist walks you through testing GA4 events, Meta Pixel events, and GTM container setup using Realtime reports, Pixel Helper, and GTM Preview mode. If any event is missing or misfiring, you will find it here.

You installed GA4. You added the Meta Pixel. You set up Google Tag Manager. Everything looks right in the settings.

But is it actually working?

The most expensive tracking mistake is not a broken pixel -- it is a pixel you think is working but is not. You launch ads, spend $500, and then discover that your "Lead" event was firing on page load instead of form submission. Now your ad data is garbage, your cost-per-lead is fictional, and you have no idea what is actually converting.

This checklist catches those problems before you launch. Run through it once per funnel, and again whenever you change a page, event, or tag.

The Tools You Need

Install these before starting:

<style>.cf-tbl-1{width:100%;max-width:720px;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.06);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a2e}.cf-tbl-1 th{background:#1a1a2e;color:#fff;font-weight:600;font-size:13px;letter-spacing:0.03em;text-transform:uppercase;padding:16px 24px;text-align:left}.cf-tbl-1 th:not(:first-child){text-align:center}.cf-tbl-1 td{padding:18px 24px;font-size:14.5px;line-height:1.5;border-bottom:1px solid #f0f0f5}.cf-tbl-1 td:first-child{font-weight:600;color:#1a1a2e;position:relative;padding-left:36px}.cf-tbl-1 td:first-child::before{content:'';position:absolute;left:12px;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:4px}.cf-tbl-1 tr:nth-child(6n+1) td:first-child::before{background:#6366f1}.cf-tbl-1 tr:nth-child(6n+2) td:first-child::before{background:#f59e0b}.cf-tbl-1 tr:nth-child(6n+3) td:first-child::before{background:#10b981}.cf-tbl-1 tr:nth-child(6n+4) td:first-child::before{background:#ec4899}.cf-tbl-1 tr:nth-child(6n+5) td:first-child::before{background:#8b5cf6}.cf-tbl-1 tr:nth-child(6n+6) td:first-child::before{background:#06b6d4}.cf-tbl-1 td:not(:first-child){text-align:center;color:#555}.cf-tbl-1 tr:hover td{background:#f8f7ff}.cf-tbl-1 tr:last-child td{border-bottom:none}@media(max-width:540px){.cf-tbl-1 th,.cf-tbl-1 td{padding:12px 14px;font-size:13px}}</style><table class="cf-tbl-1"><thead><tr><th>Tool</th><th>What It Does</th><th>Where to Get It</th></tr></thead><tbody><tr><td>GA4 Realtime Report</td><td>Shows events as they fire in real time</td><td>Built into GA4 (Reports > Realtime)</td></tr><tr><td>Meta Pixel Helper</td><td>Chrome extension that shows pixel events on any page</td><td>Chrome Web Store (search "Meta Pixel Helper")</td></tr><tr><td>GTM Preview Mode</td><td>Debug mode that shows which tags fire and when</td><td>Built into Google Tag Manager</td></tr><tr><td>Meta Events Manager - Test Events</td><td>Shows server and browser events with deduplication status</td><td>business.facebook.com/events_manager</td></tr></tbody></table>

Phase 1: GTM Container Verification

Before checking individual events, make sure your GTM container is loading on every page.

Test Procedure

  • Open GTM and click Preview (top right) -- this launches GTM in debug mode
  • Enter your funnel's opt-in page URL and click Connect
  • A new tab opens with your page, and the GTM debug panel appears at the bottom

What to Check

  • [ ] Container Found -- the debug panel shows your GTM container ID
  • [ ] Tags Fired -- you see your GA4 and Meta Pixel tags listed under "Tags Fired" on the "Container Loaded" event
  • [ ] No errors -- no red warnings or "Tag Not Fired" entries for your main tags

Navigate Through Your Entire Funnel in Preview Mode

  • [ ] Opt-in page: Container loads, GA4 + Pixel base code fires
  • [ ] Thank-you page: Container loads, GA4 + Pixel base code fires
  • [ ] Booking page: Container loads, GA4 + Pixel base code fires

If GTM is not loading on a page: Check that the GTM container code is installed in the page's `<head>` section in ClickFunnels. Each page must have the container code -- it does not inherit from other pages.

Phase 2: GA4 Event Verification

Test Procedure

  • Open GA4 > Reports > Realtime in one browser tab
  • In a separate incognito window, navigate to your opt-in page
  • Watch the Realtime report for events

Page-by-Page Checklist

Opt-In Page:

  • [ ] `page_view` event fires on page load (automatic with GA4)
  • [ ] `leadmagnetview` custom event fires on page load (if configured)
  • [ ] Page location shows the correct URL path

Form Submission (fill out the form with a test email):

  • [ ] `leadmagnetoptin` custom event fires after form submission
  • [ ] Event parameters include `formid` or `pagetitle` (if configured)
  • [ ] You are redirected to the thank-you page

Thank-You Page:

  • [ ] `page_view` event fires on page load
  • [ ] `leadmagnetthankyou_view` custom event fires (if configured)
  • [ ] No duplicate `leadmagnetoptin` event fires here (this is a common bug)

Booking Page:

  • [ ] `page_view` event fires on page load
  • [ ] Calendly embed loads correctly
  • [ ] `call_booked` event fires when a test booking is completed (if configured via webhook)

Checking Conversion Events

  • Go to GA4 > Admin > Events
  • Verify these events are marked as conversions:
  • [ ] `leadmagnetoptin` -- marked as conversion
  • [ ] `call_booked` -- marked as conversion
  • If they are not marked, toggle the "Mark as conversion" switch

Phase 3: Meta Pixel Verification

Test Procedure

  • Install the Meta Pixel Helper Chrome extension
  • Open Meta Events Manager > Test Events in one tab
  • In a separate tab, navigate to your funnel pages
  • The Pixel Helper icon shows a blue badge with the number of events detected

Page-by-Page Checklist

Opt-In Page:

  • [ ] Pixel Helper shows PageView event
  • [ ] Pixel Helper shows ViewContent event (if configured)
  • [ ] Pixel ID matches your actual pixel (check the ID number)
  • [ ] Events Manager > Test Events shows the events from both Browser and Server (if CAPI is enabled)

Form Submission:

  • [ ] Pixel Helper shows Lead event after form submission
  • [ ] The Lead event fires only ONCE (not on both the opt-in page and thank-you page)
  • [ ] Events Manager shows the Lead event with correct parameters

Thank-You Page:

  • [ ] Pixel Helper shows PageView event
  • [ ] No duplicate Lead event fires on this page (common misconfiguration)
  • [ ] ViewContent event fires if configured separately from the Lead event

Booking Page:

  • [ ] Pixel Helper shows PageView event
  • [ ] Schedule event fires when a booking is completed
  • [ ] Events Manager shows Schedule event from both Browser and Server (if CAPI enabled)

CAPI Deduplication Check (If Applicable)

  • In Events Manager > Test Events, look for each conversion event
  • Each event should appear twice: once as Browser and once as Server
  • The Deduplicated column should show Yes
  • If events are not deduplicating, the `event_id` parameters do not match -- review your [CAPI setup](/tutorials/how-to-set-up-meta-conversions-api-capi-on-clickfu)

Phase 4: UTM Parameter Verification

Test Procedure

  • Construct a test URL with UTM parameters:

`https://yourdomain.com/ai-readiness-scorecard?utmsource=test&utmmedium=qa&utm_campaign=tracking-check`

  • Navigate to this URL
  • Check GA4 Realtime > look for the traffic source

Checklist

  • [ ] UTM parameters appear in GA4 Realtime under "Traffic Source"
  • [ ] `utm_source` shows "test"
  • [ ] `utm_medium` shows "qa"
  • [ ] `utm_campaign` shows "tracking-check"
  • [ ] Parameters persist through form submission (the thank-you page should carry the same source)

If UTMs are not showing: Make sure your form submission redirects to the thank-you page via server-side redirect, not a JavaScript redirect that strips the URL parameters.

Common Failures and Fixes

<style>.cf-tbl-2{width:100%;max-width:720px;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.06);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a2e}.cf-tbl-2 th{background:#1a1a2e;color:#fff;font-weight:600;font-size:13px;letter-spacing:0.03em;text-transform:uppercase;padding:16px 24px;text-align:left}.cf-tbl-2 th:not(:first-child){text-align:center}.cf-tbl-2 td{padding:18px 24px;font-size:14.5px;line-height:1.5;border-bottom:1px solid #f0f0f5}.cf-tbl-2 td:first-child{font-weight:600;color:#1a1a2e;position:relative;padding-left:36px}.cf-tbl-2 td:first-child::before{content:'';position:absolute;left:12px;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:4px}.cf-tbl-2 tr:nth-child(6n+1) td:first-child::before{background:#6366f1}.cf-tbl-2 tr:nth-child(6n+2) td:first-child::before{background:#f59e0b}.cf-tbl-2 tr:nth-child(6n+3) td:first-child::before{background:#10b981}.cf-tbl-2 tr:nth-child(6n+4) td:first-child::before{background:#ec4899}.cf-tbl-2 tr:nth-child(6n+5) td:first-child::before{background:#8b5cf6}.cf-tbl-2 tr:nth-child(6n+6) td:first-child::before{background:#06b6d4}.cf-tbl-2 td:not(:first-child){text-align:center;color:#555}.cf-tbl-2 tr:hover td{background:#f8f7ff}.cf-tbl-2 tr:last-child td{border-bottom:none}@media(max-width:540px){.cf-tbl-2 th,.cf-tbl-2 td{padding:12px 14px;font-size:13px}}</style><table class="cf-tbl-2"><thead><tr><th>Symptom</th><th>Likely Cause</th><th>Fix</th></tr></thead><tbody><tr><td>No events at all</td><td>GTM container not installed on the page</td><td>Add the GTM code to the page's &lt;head&gt; in ClickFunnels</td></tr><tr><td>Events fire on wrong pages</td><td>Tag trigger is set to "All Pages" instead of specific page</td><td>Update the GTM trigger to fire only on the correct URL path</td></tr><tr><td>Lead event fires twice</td><td>Pixel code installed both in GTM AND directly in ClickFunnels</td><td>Remove the direct code; use only GTM</td></tr><tr><td>Lead event fires on page load, not form submit</td><td>Trigger is "Page View" instead of "Form Submission"</td><td>Change the trigger to "Form Submission" or custom event</td></tr><tr><td>GA4 events not marked as conversions</td><td>Events exist but not toggled as conversions</td><td>Go to Admin > Events and toggle "Mark as conversion"</td></tr><tr><td>Pixel Helper shows "Pixel not found"</td><td>Pixel tag is not firing or is blocked</td><td>Check GTM Preview mode for tag errors; test in incognito mode</td></tr><tr><td>UTM parameters disappear on redirect</td><td>JavaScript redirect strips query parameters</td><td>Use server-side redirect or pass UTMs through hidden form fields</td></tr><tr><td>CAPI events not deduplicating</td><td>Mismatched event_id between browser and server</td><td>Use ClickFunnels native CAPI integration</td></tr></tbody></table>

The QA Checklist (Print This)

Run this before every funnel launch and after every page change:

GTM

  • [ ] Container loads on every funnel page
  • [ ] No tag errors in Preview mode
  • [ ] GA4 tag fires on all pages
  • [ ] Meta Pixel tag fires on all pages

GA4

  • [ ] `page_view` fires on every page
  • [ ] `leadmagnetoptin` fires on form submission only
  • [ ] `call_booked` fires on booking confirmation only
  • [ ] Both events are marked as conversions
  • [ ] No duplicate events on any page

Meta Pixel

  • [ ] PageView fires on every page
  • [ ] Lead fires on form submission only (not page load)
  • [ ] Schedule fires on booking confirmation only
  • [ ] Pixel ID is correct
  • [ ] CAPI events are deduplicating (if enabled)

UTMs

  • [ ] Parameters pass through to GA4
  • [ ] Parameters persist through form submission

Final Test

  • [ ] Complete the full flow: visit opt-in page > submit form > view thank-you page > book test call
  • [ ] Verify all events appear in GA4 Realtime and Meta Events Manager
  • [ ] Delete the test contact and cancel the test booking when done

Frequently Asked Questions

How often should I run the tracking QA checklist?

Before every funnel launch, after every page edit, and monthly as part of your regular maintenance. Platforms update, pages get cloned with broken tracking, and integrations break silently. A monthly check catches drift before it costs you money.

Can I test tracking without spending money on ads?

Yes. All testing is done using organic page visits, GA4 Realtime reports, Meta Pixel Helper, and GTM Preview mode. You do not need to run ads to verify tracking. Test everything before you turn on ads.

What if my events show in GA4 but not in Meta?

This usually means the Meta Pixel tag in GTM is not firing correctly. Check GTM Preview mode to verify the Meta Pixel tag fires on the correct trigger. Also verify the Pixel ID in your tag matches your actual pixel.

How do I test on mobile?

Use Chrome DevTools device emulation (F12 > toggle device toolbar) for basic testing. For real mobile testing, browse your funnel on your phone and check GA4 Realtime for the events. Meta Pixel Helper only works on desktop Chrome.

Key Takeaways

  • Test before you spend -- every tracking failure costs you ad budget and data quality
  • Use GTM Preview Mode, GA4 Realtime, and Meta Pixel Helper together
  • Check for duplicate events (most common failure)
  • Verify conversion events are marked in GA4
  • Confirm CAPI deduplication if you use Conversions API
  • Run the full checklist before every launch and monthly thereafter

What to Read Next

  • [How to Set Up Google Analytics 4 on Your ClickFunnels Pages](/tutorials/how-to-set-up-google-analytics-4-on-your-clickfunn) -- Initial GA4 setup
  • [How to Install the Meta Pixel on ClickFunnels Using GTM](/tutorials/how-to-install-the-meta-pixel-on-clickfunnels-usin) -- Pixel setup reference
  • [How to Set Up Meta Conversions API (CAPI)](/tutorials/how-to-set-up-meta-conversions-api-capi-on-clickfu) -- Server-side tracking
  • [UTM Tracking for Entrepreneurs](/tutorials/utm-tracking-for-entrepreneurs-how-to-know-exactly) -- Parameter setup guide
CF Sharer By Carlos

Bezalel Digital © 2023 | All Rights Reserved | CarlosVargas.com
Terms | Income Disclaimer