Skip to content

How to check conversion tracking before you launch ads

What counts as a lead, how to run a test lead and confirm it reaches Google Ads, Meta and your CRM before the first dollar is spent

Magosh Alshanskiy, editor in chargePublished ≈ 8 min read23 sources
Contents

In short. Before launch, write down which actions count as a lead (a submitted form, a call, a chat message, a payment) and run a test lead for each while watching GA4 DebugView, Tag Assistant and Meta Test Events. A conversion is accepted when one real submission fires it exactly once, an invalid form and a reloaded thank-you page fire nothing, it reaches the ad account under the right action, and the CRM record carries a click or visitor ID. Until then, bidding learns from an unverified signal and the cost-per-lead report is not fit for decisions.

37.5%how much cheaper than reality the report looks when the conversion counts repeat thank-you page viewsteaching example
80 vs 50conversions in the ad account against real leads in the CRMteaching example
48 hourswindow in which Meta merges a pixel event and a Conversions API event with the same event_idMeta developer documentation
7 daysmaximum age of a server event Meta acceptsMeta developer documentation

Decide what a lead is before anyone configures tags

If the conversion counts the wrong action, the campaign will look for people who perform that wrong action.

A conversion (GA4 calls it a key event) is a visitor action the business treats as a result, and ad platforms train automated bidding on it. If the conversion counts the wrong action, the campaign will look for people who perform that wrong action. So the owner and the sales team first agree on what a lead is.

A primary action means the person handed over contact details or money: the server accepted the form, the call connected, the chat message arrived, the payment cleared. A supporting action shows interest: started the form, tapped the number, opened a chat link. A purchase event must carry value and currency, which the Meta Pixel reference marks as required for Purchase.

Which actions to count as conversions and how to confirm the fact

Scroll right to see all columns

ActionWhat counts as a leadSupporting eventWhere it is confirmed
Website formThe server accepted the lead and showed a confirmationForm start, button clickCRM record or lead inbox
Phone callA connected call from the number in the ad or on the siteTap on the numberCall log or call tracking
Chat appThe first message arrived in the business chatTap on the chat linkChat inbox or connected CRM
PaymentA confirmed payment with amount and currencyStart of checkoutPayment provider or billing

Acceptance runs in order: each step rests on the one before

There is no point checking the Google Ads import while the event is missing from GA4 debugging, or the CRM before you know which IDs the form should pass.

  1. Write the conversion list: event, condition, primary or supporting, destinations.
  2. Confirm the tag loads on every page, including the thank-you page, with the same IDs.
  3. Run test leads on desktop and mobile, with consent accepted and declined, then negative tests.
  4. Confirm delivery to Google Ads and Meta.
  5. Follow the ad link to the final page: UTM values and click IDs are intact.
  6. Find the test lead in the CRM with source, IDs and a test label.
  7. Set the bidding conversion and counting method, sign off and book a post-launch review.

The test lead: one real submission, one hit, nothing else

A test lead is a real submission, call or message. Watch it in debugging tools: standard reports lag and mix your test with other visitors.

GA4. DebugView shows events from a device in debug mode, enabled through Tag Assistant or the debug_mode parameter. The middle column shows the last 60 seconds; the key event should appear once, with the expected parameters. A developer traffic filter can exclude debug-mode activity, but filters apply only from the day they are created.

Tag Assistant. Google Tag Manager preview mode shows which tags fired and why; regular visitors do not see it. Here you catch a button-click tag that fires even when validation rejected the form. If you also advertise in Yandex Direct, use the Yandex Metrica debugger, enabled with _ym_debug=2 in the page address.

For planning only: four actions, two devices and two consent states give 16 positive test runs, plus negative tests per form. A memory aid, not a standard.

  1. Submit an empty form.
  2. Submit a form with an invalid phone number.
  3. Reload the thank-you page and return to it with the back button.
  4. Confirm the primary conversion fired in none of these cases.

In every ad account, one lead means one primary conversion

Google Ads. To import a GA4 event, mark it as a key event; you need at least the Marketer role in Analytics, admin access to Google Ads and linked accounts. Data can take up to 24 hours to appear, and history before the import is not included. Actions created from Analytics are secondary by default, so for bidding you change their setting in Google Ads.

Google recommends the One counting option for leads and Every for purchases; in GA4, once per event is the recommended method. Record your choices.

Meta. Website leads use standard events: Lead, Contact, Schedule and Purchase. Check Conversions API events in Test Events with a test_event_code you later remove; they show within 20 minutes. Meta merges pixel and server copies with matching event name and event_id that arrive within 48 hours, and the Event Deduplication tab shows the share merged.

Where duplicates and spam come from

A duplicate is one action counted more than once: a reloaded thank-you page, hard-coded tags plus the same tag in Google Tag Manager, pixel and Conversions API without a shared event_id, a click trigger firing on a form error.

Spam means bots, accidental sends and staff tests. Field validation and bot protection help on the form; in the CRM, test and spam leads get a status instead of being deleted. Reconciling counts between systems has its own article here.

Worked example
What the ad account reports and what the CRM holds in a month
Worked example: what the ad account reports and what the CRM holds in a month
ItemValue
Conversions in the ad account80 count
Real leads in the CRM50 count
Repeat thank-you page views30 count

teaching example: 50 leads + 30 repeat views = 80 conversions

Duplicates make leads cheaper only on paper

The report looks 37.5% cheaper than reality

Worked example, all numbers illustrative. Monthly budget $15,000, 50 real leads, cost per lead $300. The conversion fires on every thank-you page view, 30 people reload it, and the ad account reports 80 conversions at $187.50.

The report looks 37.5% cheaper than reality, and bidding rewards impressions after which people merely refreshed a page. Only a comparison with unique CRM leads reveals it.

Worked example
Cost per lead on a $15,000 budget
Worked example: cost per lead on a $15,000 budget
ItemValue
From the CRM, 50 leads$300
From the ad account, 80 conversions$188

teaching example: 15,000 / 50 = 300; 15,000 / 80 = 187.50

Cookie consent: test both answers

Google consent mode passes four settings to tags: ad_storage, analytics_storage, ad_user_data and ad_personalization. In basic mode, tags wait for the banner answer. In advanced mode, they load with consent denied by default and send cookieless measurements that Google uses to model the gaps.

The check below follows Google's consent debugging guide; with regional defaults, also simulate locations. Failure: ad tags fire before the answer against your policy, or values never update. The site owner is responsible for obtaining consent; what the law requires is a question for your lawyer.

  1. Open the site through Tag Assistant.
  2. In the Consent tab, check default values in the earliest consent event.
  3. Accept the banner: all four values update, tags fire or are blocked as chosen.
  4. Repeat with the banner declined.

UTM parameters and click IDs must reach the final page

UTM parameters tell analytics the source, medium and campaign. GA4 help says to always use utm_source, utm_medium and utm_campaign; missing values show up as (not set).

Google Ads auto-tagging appends GCLID, which Google calls required for conversion tracking and enables by default for new accounts. It must survive redirects, or the conversion cannot be tied to the click. Click your ad or its preview, follow every redirect and read the final address. If anything is missing, fix the redirect before launch.

Without an ID in the CRM, a deal never finds its way back to the ad

If an ID is not stored at the moment of the lead, you cannot recover it later.

Analytics does not know whether the person became a customer. To send closed deals back to ad platforms later (offline conversions), the form must write IDs into the lead record now. Google Ads help says to save the GCLID with the lead information; enhanced conversions for leads add hashed contact data such as email.

Meta accepts server events up to 7 days old, rejects the whole request if any event is older, and recommends sending within an hour. If an ID is not stored at the moment of the lead, you cannot recover it later.

What to sign before launch

Hand the table to your implementer as an acceptance brief, with evidence for each row. The sign-off document lists conversions and counting methods, the primary conversion per campaign, account links, the UTM dictionary, CRM fields, test and spam labels, test results and who owns site changes. Any form change after acceptance means a new test lead.

Limits. A test proves tracking only in the combinations you tried; ad blockers and declined cookies always leave some leads without a source. The publisher of this journal is affiliated with WEBNOSTRA, which sells analytics setup services; the routine can be run in-house or with any provider.

What to check before launch, how, and what failure looks like

Scroll right to see all columns

What to checkHowSign of an error
Tag on every pageTag Assistant on the form and thank-you pagesMissing on some pages or a different ID
Form conversionTest lead, GA4 DebugViewMissing or arriving twice
False firesEmpty form, invalid phone, reloaded pageFires without a real lead
Calls and chatTest call and messageOnly taps are counted
Google Ads importAction status a day after the testTwo primary conversions, or no data
Meta Pixel and Conversions APITest Events, Event DeduplicationTwo events without a shared event_id
Cookie consentConsent tab, accept and declineTags ignore the choice
UTM and click IDsFollow the ad link to the final pageDropped by a redirect
CRMThe test lead recordNo source, UTM values or IDs

Key decisions

  1. decide what counts as a lead before anyone configures tags, and keep the primary action for bidding separate from supporting signals
  2. accept each conversion only after a test lead: one real submission gives one hit, a form error or a reloaded thank-you page gives none
  3. release budget only once the test lead is visible in analytics, in the ad account and in the CRM with a click or visitor ID

What to discuss with your team

  • The conversion list is approved: condition, primary or supporting role, destinations
  • Every primary conversion passed a test lead and negative tests on desktop and mobile
  • Each ad account has one primary conversion per real action, with the counting method recorded
  • The site follows your consent policy whether the banner is accepted or declined
  • UTM values and click IDs reach the final page and the CRM record
  • The acceptance document is signed, and any form change triggers a new test
A text file with decisions, questions and sources

Terms in plain language

Conversion, key event
A visitor action the business treats as a result; GA4 calls it a key event, ad platforms call it a conversion
Test lead
A real form submission, call or message made for verification, watched in debugging tools and marked as a test in the CRM
Deduplication
Merging two records of one action, such as a pixel event and a Conversions API event with the same event_id
GCLID
The Google Click Identifier added to landing-page URLs by Google Ads auto-tagging; it ties a CRM deal back to the ad click
Consent mode
A Google tag setting that changes tag behavior depending on the visitor's answer to the cookie banner

Sources

  1. Google Analytics: Monitor events in DebugViewsupport.google.com · checked 31/10/2026
  2. Google Analytics: About key eventssupport.google.com · checked 31/10/2026
  3. Google Analytics: Change the counting method of key eventssupport.google.com · checked 31/10/2026
  4. Google Analytics: Data filterssupport.google.com · checked 31/10/2026
  5. Google Analytics: URL builders and UTM parameterssupport.google.com · checked 31/10/2026
  6. Google Tag Manager: Preview and debug containerssupport.google.com · checked 31/10/2026
  7. Google Tag Platform: Consent mode overview (last updated 2026-07-30)developers.google.com · checked 31/10/2026
  8. Google Tag Platform: Debug consent mode with Tag Assistant (last updated 2026-10-13)developers.google.com · checked 31/10/2026
  9. Google Ads: Create conversions from Google Analytics eventssupport.google.com · checked 31/10/2026
  10. Google Ads: About conversion counting optionssupport.google.com · checked 31/10/2026
  11. Google Ads: About auto-taggingsupport.google.com · checked 31/10/2026
  12. Google Ads: About offline conversion importssupport.google.com · checked 31/10/2026
  13. Yandex Metrica: Goals (in Russian)yandex.ru · checked 31/10/2026
  14. Yandex Metrica: Tag debugger (in Russian)yandex.ru · checked 31/10/2026
  15. Yandex Metrica: Troubleshooting goals (in Russian)yandex.ru · checked 31/10/2026
  16. Yandex Metrica: Importing offline data (in Russian)yandex.ru · checked 31/10/2026
  17. Yandex Direct: Using Yandex Metrica (in Russian)yandex.ru · checked 31/10/2026
  18. Yandex Direct: Troubleshooting low conversions (in Russian)yandex.ru · checked 31/10/2026
  19. Yandex Direct: UTM tags and dynamic parameters (in Russian)yandex.ru · checked 31/10/2026
  20. Meta: Conversions API, using the API and Test Eventsdevelopers.facebook.com · checked 31/10/2026
  21. Meta: Deduplicate Pixel and server eventsdevelopers.facebook.com · checked 31/10/2026
  22. Meta: Verifying your Conversions API setupdevelopers.facebook.com · checked 31/10/2026
  23. Meta Pixel: Standard events referencedevelopers.facebook.com · checked 31/10/2026
ToolPath from lead to saleSpend and leads by stage for one cohort: where the largest drop happens.Use your own numbers

Keep reading

All guides