🎯 Ad Attribution & ROAS

Fix Facebook Ads ROAS Showing $0 in GA4 for Shopify Orders

By Dimsquid Engineering•Published Aug 4, 2026•5 min read

You are spending thousands on Meta (Facebook & Instagram) ads to drive traffic to your WordPress editorial content or landing pages. Facebook Ads Manager shows profitable conversions, but when you open Google Analytics 4, your paid ad campaign revenue is $0 and all sales show up as (direct) / none.

This isn't just a reporting annoyance — it ruins your ability to scale paid ad campaigns, optimize audience targeting, and trust your e-commerce data.

Why Facebook Click IDs (fbclid) & UTMs Get Lost

When a user clicks a Facebook ad, Meta appends a unique click ID (fbclid) and campaign parameters (utm_source=facebook&utm_campaign=summer_sale) to your WordPress landing page URL.

Here is what happens when that user clicks your "Buy Now" button to checkout on Shopify:

  1. The initial Meta ad parameters are present on your WordPress page (yoursite.com/landing?utm_source=facebook&fbclid=XYZ).
  2. The user clicks over to internal blog posts or product pages on WordPress.
  3. By the time the user clicks outbound to Shopify checkout, the fbclid and UTM parameters are stripped from the destination link unless actively preserved.
  4. Shopify opens in a new session without campaign tags, and GA4 attributes the conversion to Direct traffic.

How UTM Persistence & GA4 Linker Restores 100% ROAS

To fix Facebook ad attribution across WordPress and Shopify, two mechanisms must work simultaneously:

1. Session Linker (_gl)

Passes the original Google Analytics client ID across the domain boundary so GA4 connects the WordPress ad landing event to the Shopify purchase.

2. UTM Persistence Engine

Captures utm_source, utm_campaign, and fbclid parameters upon landing and carries them into the Shopify checkout URL.