Inflated conversion counts are worse than none: they feed bad numbers to bidding algorithms and false confidence to you. The failure patterns are few and fixable.
Count outcomes, not attempts
The click of a submit button is an attempt; the thank-you page (or the form’s confirmed-success event) is an outcome. Tie conversion tags to outcomes only. The test: submit a form that fails validation — if anything counted, the wiring is wrong.
The classic double-counts
- Refresh replay: a bare thank-you URL counts again on every reload. Guard with a one-time token or event, or accept the noise knowingly on low stakes pages.
- Two tags, one event: a legacy hardcoded pixel plus the GTM version both firing. Audit before adding — one container, one source of truth.
- Imported and native: Google Ads counting its own tag AND the imported GA4 conversion for the same action. Pick one per action; never both.
Prove it end to end, then leave it alone
The acceptance test is a live round-trip: one real submission, then confirm exactly one conversion appears in each system that should record it, with the right source attached. Do it at setup and after any change to forms or tags. Five minutes of proof beats weeks of quietly corrupted data — and if the numbers ever look too good, re-run it before celebrating.