How-To Guide · Analytics & Tracking

Best Way to GA4 with Facebook Ads

Learn how to connect Facebook Ads data to Google Analytics 4 using UTM parameters and Meta Data Import. Two methods, step-by-step, plus how Coinis reporting fills the gaps.

TL;DR Facebook Ads data doesn't flow to GA4 automatically. You have two options: add UTM parameters to your ad URLs (manual, works today) or set up Meta Data Import in GA4 (automatic, pulls cost and click data). UTMs take five minutes. Meta Data Import takes 30. Both are worth doing.

5 min read By Updated 0 steps

Originally published .

# Best Way to GA4 with Facebook Ads

> Quick answer: Facebook Ads data doesn't flow to GA4 automatically. You have two options: add UTM parameters to your ad URLs (manual, works today) or set up Meta Data Import in GA4 (automatic, pulls cost and click data). UTMs take five minutes. Meta Data Import takes 30. Both are worth doing.

Connecting Facebook Ads to GA4 takes two more steps than most people expect. Neither platform talks to the other by default. Here is how to fix that.

---

Why Facebook Ads Data Doesn't Appear in GA4 Automatically

Facebook and GA4 run completely separate tracking systems. Each one counts sessions, clicks, and conversions differently.

Facebook attribution vs. GA4 attribution

Facebook Ads Manager uses its own pixel and Conversions API to track actions. It credits conversions based on view-through and click-through windows. GA4 uses page-load events and session data. They don't share a data layer. A single purchase can appear in both platforms attributed to different dates or sessions.

The role of UTMs and tracking parameters

GA4 reads traffic sources from URL parameters. Without them, Facebook traffic shows up as direct or referral traffic in your reports. Not paid social. You have to tell GA4 what sent the visitor by tagging the destination URL yourself.

Why direct integration doesn't exist (yet)

There is no native one-click sync between Facebook Ads Manager and GA4. Meta does offer a Data Import pathway through the GA4 admin panel. But it requires manual setup, OAuth authorization, and Editor-level access on both platforms.

---

Method 1: Track Facebook Ads with UTM Parameters (Manual)

UTM parameters are the fastest way to get Facebook Ads data into GA4. No permissions. No integrations. Just tagged URLs on your ads.

How UTM parameters work with GA4

GA4 reads UTM values from the destination URL the moment someone lands on your site. It records source, medium, campaign, and more as session-level dimensions. Per Google's Analytics Help documentation, if any single UTM parameter is present on a URL, GA4 derives all traffic-source dimensions from UTMs exclusively. Missing parameters create (not set) values in your reports.

Required and recommended parameters for Facebook Ads

Two parameters are required: `utm_source` and `utm_medium`. Google's Analytics Help Center strongly recommends adding `utm_campaign` and `utm_id` to prevent data fragmentation. The more parameters you set, the more complete your reporting.

Recommended structure for Facebook Ads:

  • `utm_source=facebook`
  • `utm_medium=paid_social`
  • `utm_campaign={{campaign.name}}`
  • `utm_content={{ad.name}}`
  • `utm_term={{adset.name}}`

Using Google's Campaign URL Builder

Google's Campaign URL Builder at `ga-dev-tools.google/campaign-url-builder` generates tagged links without typos. Fill in each field, copy the output URL, and paste it into your Facebook ad's destination URL.

Best practices for naming conventions

Case matters in GA4. "Facebook" and "facebook" create separate rows in your Traffic Acquisition report. Pick a standard and apply it everywhere. Google recommends one unique `utm_source` per distinct platform. Use `facebook` for Facebook placements. Use `instagram` for Instagram placements.

Adding UTM URLs to Facebook ads

In Meta Ads Manager, go to the Ad level. Paste your tagged URL into the destination URL field. Or use the URL Parameters field to add dynamic values like `{{campaign.name}}` and `{{ad.id}}`. Dynamic parameters fill in automatically at serving time. They remove manual errors across large accounts and keep naming consistent.

---

Method 2: Import Meta Campaign Data Directly (Automatic)

Meta Data Import in GA4 pulls cost, clicks, and impressions data automatically. Per Google's Analytics Help documentation, this method requires `utm_source` and `utm_medium` on all tagged URLs, with `utm_id` strongly recommended for correct data matching.

How Meta Data Import works in GA4

GA4 matches imported campaign data to sessions using UTM values. It populates the "Ads cost", "Ads clicks", and "Ads impressions" metrics inside your reports. This is the only way to see Meta ad cost data directly inside GA4.

Prerequisites and permissions

You need Editor-level access in GA4. You need admin access in Meta Ads Manager. Both platforms require OAuth authorization to complete the connection.

Step-by-step setup process

  1. Open GA4 Admin.
  2. Navigate to Data Import.
  3. Select "Import campaign data from Meta Ads."
  4. Authorize the Meta account connection via OAuth.
  5. Map the fields and save the configuration.

Per Google's documentation, GA4 pulls up to 24 months of historical data. Processing takes up to 30 minutes after the initial connection.

Currency and data matching considerations

The currency in your Meta Ads account must match the currency set on your GA4 property. A mismatch causes cost data to display incorrectly. If they don't match, either change the Meta Ads account currency or convert values manually during analysis.

---

Viewing Facebook Ads Data in GA4

Open Reports, go to Acquisition, then Traffic Acquisition. Look for sessions where the Session default channel group shows Paid Social. Add Session campaign and Session source / medium as secondary dimensions to break performance down by individual campaign or ad.

The Traffic Acquisition report

This report shows all sessions grouped by channel, source, and medium. Paid social sessions with UTMs appear here automatically after your first tagged visitor arrives.

Session source, medium, and campaign dimensions

These three dimensions are the core of Facebook Ads analysis inside GA4. Use them to compare campaign-level traffic quality, bounce rates, and conversions side by side.

Filtering by UTM parameters

Use the search bar inside any GA4 report to filter by dimension value. Type `facebook` under source to isolate Facebook-tagged sessions from all other paid social traffic.

Comparing data across methods

If you run both UTMs and Meta Data Import together, cross-reference the session counts. The numbers rarely match exactly. That is expected and normal.

---

Why Your GA4 Numbers Might Differ from Facebook Ads Manager

Discrepancies are normal. They don't mean something is broken.

Attribution windows and click counting differences

Facebook attributes a conversion if someone clicks an ad within 7 days by default. GA4 attributes the session to the last non-direct click in its model. One purchase can show in both platforms but attributed to different dates, sessions, or campaigns.

Bot filtering and traffic quality

GA4 automatically filters known bot traffic. Facebook Ads Manager does not apply the same filters. You will almost always see more clicks in Ads Manager than sessions in GA4. That gap is expected.

Cross-device tracking limitations

GA4 uses cookies and user IDs. Facebook uses its own identity graph. A user who clicks on mobile and converts on desktop may appear as two separate sessions in GA4 but one conversion in Facebook.

How to reconcile discrepancies

Don't try to make the numbers match exactly. Use Facebook Ads Manager for reach, frequency, and spend data. Use GA4 for on-site behavior, conversion paths, and goal completions. They answer different questions and both answers are useful.

---

GA4 + Facebook Ads: How Coinis Fits In

GA4 shows what happens on your site after the click. Coinis shows what your ads are doing before it.

Using Advertise reporting to complement GA4

The Coinis Advertise page shows real-time Facebook and Instagram campaign performance. Impressions, clicks, spend, and results in one view. No switching tabs between Meta Ads Manager and a separate analytics tool. Spot underperforming creatives faster. Make changes without leaving the platform.

Exporting CSV data for deeper analysis

Export any Advertise report as a CSV. Drop it into a spreadsheet alongside your GA4 export data. Compare cost-per-click with cost-per-session. Find the gap between ad clicks and site sessions. That gap often reveals broken UTM tags or landing page issues worth fixing immediately.

---

Or let Coinis do it.

From a product URL to a live Meta campaign. AI-generated creatives. On-brand copy. Direct publish to Facebook and Instagram. Real performance reporting. All in one platform.

Start free. Upgrade when you're ready.

Start free →

15 AI tokens a month. No credit card.

Frequently Asked Questions

Why does Facebook Ads traffic show as direct or referral in GA4?

GA4 can only read traffic sources from UTM parameters in the destination URL. Without UTM tags on your Facebook ad URLs, GA4 has no way to identify Facebook as the source and assigns the visit to direct or referral instead.

What UTM parameters are required for Facebook Ads in GA4?

utm_source and utm_medium are required. Google's Analytics Help documentation strongly recommends also adding utm_campaign and utm_id to prevent (not set) values and data fragmentation in your Traffic Acquisition report.

Why are my Facebook Ads click numbers higher than GA4 sessions?

This is normal. GA4 automatically filters known bot traffic while Facebook Ads Manager does not. Cross-device tracking differences and attribution window mismatches also contribute. The numbers will never match exactly and that is expected.

Does Meta Data Import in GA4 replace UTM parameters?

No. Meta Data Import adds cost, clicks, and impressions metrics inside GA4 reports but still requires UTM parameters on your ad URLs for the data to match correctly to sessions. You need both.

Stop hustling

You just read the manual way. Coinis does it all.

Every step above takes hours of manual work. Coinis automates it. Free to start. No credit card. Pay only when you need more volume.

Steps 1–2

Goal + Audience

AI analyzes your brand from a URL. Targets the right buyers automatically.

Steps 3–4

Channels + Budget

One-click launch to Meta. Smart budget allocation out of the box.

Step 5

Ad Creatives

Paste a link. Get dozens of professional ads in minutes.

Steps 6–7

Launch + Track

Live dashboard. Real ROAS. AI suggests what to optimize next.

15 credits day one
No credit card
Free forever tier
Pay only for volume
Start free

You just learned the hard way. Here's the easy way.

Coinis generates ad creatives, launches campaigns, and tracks results. One platform. One click. No ad expertise required.

Try Coinis free