One-Sentence Conclusion
You have ad clicks and orders, but GA4/Ads don’t match. The usual cause is UTM loss during payment redirects, or conversion events firing on the wrong page. The fix comes down to: unified thank-you page trigger + persist campaign parameters + cross-domain linker.
Typical Broken Funnel Scenarios
- User clicks
?utm_source=googleand enters the site - Checkout redirects to PayPal / Stripe Hosted / Shopify Checkout
- Payment completes and returns to the thank-you page, URL has no UTM, GA4 records it as Direct
- GTM fires purchase on the homepage (wrong) or doesn’t fire at all
Fix Strategy
1. Fire purchase on the “Order Complete Page” — and only there
- WooCommerce:
order-receivedwith an existingorder_id - Shopify:
thank_you/ Checkout extension’s Order status page
2. Persist UTM
- A GTM variable reads UTM from the URL and writes it to a first-party cookie (e.g.
gc_utm, 7–30 days) - The thank-you page event carries the
campaigndimension (GA4 custom dimension)
3. Cross-domain linker (Google ecosystem)
- Configure the
linkerparameter for related payment/checkout domains - Declare the relevant domains in the GA4 data stream
4. Server-side fallback (advanced)
- After receiving
payment_intent.succeededvia webhook, send the event server-side using the GA4 Measurement Protocol (prevents client-side loss)
Diagnostic Table
| Symptom | Likely Cause |
|---|---|
| Site-wide traffic becomes Direct | UTM not persisted |
| Has add_to_cart but no purchase | Thank-you page trigger is wrong |
| Loss only on mobile | ITP / third-party cookies |
| Loss only with one payment method | That payment redirect domain not declared |
FAQ
Q: Does UTM loss affect Google Ads attribution? A: Yes. Ads partly rely on gclid, but GA4 reports and cross-channel analysis become distorted, hurting optimization decisions.
Q: How do I track Stripe Checkout?
A: Use the Checkout Session’s success_url with session_id, then on the success page pull order details via API and fire the event.
Q: Should I use server-side tracking? A: It’s recommended once you scale up your budget. For small and mid-size sites, fixing the thank-you page event is often enough first.
Q: Is this the same as zero conversions? A: Related but not identical. UTM loss can mean “conversion happened but attributed to the wrong source”; zero conversions means the event never fired. We suggest reading both articles together.
Q: Does GULINGLE provide attribution audits? A: Yes. Includes GTM container review, payment path mapping, and fix delivery.

