Direct traffic
GA4 sees the visit, but source or medium does not stay as Meta, Facebook, paid social, or the campaign label you expected.
Facebook Ads + GA4
If Meta reports clicks but GA4 shows direct traffic, isolate one ad URL first. The issue is usually in the landing URL, redirect path, GA4 tag, consent state, or checkout handoff before it is a full attribution problem.
GA4 sees the visit, but source or medium does not stay as Meta, Facebook, paid social, or the campaign label you expected.
The final landing page URL lost UTMs through a redirect, short link, app link, locale rule, or duplicated query string.
If no visit appears at all, check GA4 tag firing, property, consent state, blockers, and the exact page template.
Start with a static URL. Do not debug Meta macros until one plain click appears correctly in GA4 Realtime.
utm_source, utm_medium, and utm_campaign remain in the address bar after redirects.| Layer | Symptom | Next check |
|---|---|---|
| Ad URL | No UTM source, medium, or campaign in the final destination. | Build one static Meta URL and retest. |
| Redirect | UTMs are present before click but gone after the page loads. | Check short links, app redirects, trailing slash rules, and locale redirects. |
| GA4 tag | The page loads, but GA4 sees no campaign or no visit. | Check property, web stream, duplicate tags, consent, and blockers. |
| Checkout | Landing visit is correct, but order or purchase source looks direct. | Check checkout domain, payment return, purchase event, and session continuity. |
A useful first review does not need your Facebook password, Shopify admin login, GA4 login, or browser cookies.
Facebook or Meta final URL: Page that loads after clicking: What GA4 Realtime shows: Does the address bar still contain UTMs: Store platform: Does the issue happen before checkout or after purchase: Recent redirect, theme, consent, app, or tracking changes:
Facebook FAQ
Facebook clicks can show as direct when the landing URL has no UTMs, a redirect removes the query string, the GA4 tag fires after parameters disappear, consent blocks analytics storage, or the user returns later from a direct visit before purchase.
Test one static tagged Facebook URL in GA4 Realtime. If the visit appears as direct, inspect UTMs and redirects. If no visit appears, inspect the GA4 tag, property, consent state, and landing page template.
Send the exact ad landing page URL, the page that loads after the click, what GA4 Realtime shows, whether the address bar still contains UTMs, your store platform, and any recent redirect, theme, consent, or tracking changes.
One real URL plus the GA4 Realtime symptom is enough to separate a URL problem from a tag, redirect, or checkout problem.