Source: https://datafa.st/docs/meta-ads-attribution
Markdown source: https://datafa.st/docs/meta-ads-attribution.md
Description: Connect Meta Ads to DataFast to attribute Facebook and Instagram ad spend to visitors, revenue, payments, and ROAS.

# Meta ads attribution

Connect Meta Ads to DataFast to see how your Facebook and Instagram ads turn into visitors, payments, revenue, and ROAS.

![DataFast's traffic and revenue source analytics with Meta ads attribution](/blog-meta-ads-attribution.jpg)

If you run Meta ads, the question is not only "which campaign got clicks?" It is "which campaign brought customers and revenue?" DataFast answers that by combining your Meta ad spend with revenue attribution from your website.

This guide helps you set up Meta ads attribution, understand how the matching works, and improve the accuracy of your campaign ROAS.

## What this integration is for

Meta Ads Manager shows spend, impressions, clicks, and conversions from Meta's side. DataFast shows what happens on your site after the click:

- Which Meta campaigns brought visitors
- Which visitors paid or completed a goal
- How much revenue came from Meta traffic
- ROAS next to your normal revenue metrics
- Campaign rows enriched with Meta ad spend and attribution data

This is useful for founders and marketers who want a simple way to attribute Meta ads revenue without building a custom dashboard.

## What you get in DataFast

![DataFast's ROAS KPI with Meta ads attribution](/blog-meta-ads-integration-roas-demo.jpg)

After connecting Meta Ads, DataFast can show:

- **ROAS** in your main dashboard metrics when a payment provider is connected
- **Ad spend** for selected Meta campaigns
- **Revenue attributed to Meta campaigns** from DataFast payments and visitor journeys (go to the **Campaigns** tab to see the revenue attributed to each campaign)
- **Campaign-level context** inside the Source card, including selected campaign names and spend

Use this when you want to measure Meta ads attribution, Facebook ads revenue attribution, Instagram ads ROAS, or how much revenue your paid social campaigns create.

## How it works

DataFast connects to Meta through OAuth, then reads campaign performance from the Meta Marketing API for the ad accounts and campaigns you select.

For each selected campaign, DataFast combines:

1. **Meta data**: spend, impressions, clicks, reach, and purchase values when available from Meta.
2. **DataFast revenue data**: payments attributed to visitors from your website, payment provider, or Payment API.
3. **Campaign matching**: DataFast matches revenue to Meta campaigns using the strongest signal it can find.

Matching can use:

- Meta purchase value when Meta provides it
- Exact `utm_campaign` match against the Meta campaign name or campaign ID
- Paid social traffic patterns such as `utm_source=meta`, `utm_source=facebook`, `utm_source=instagram`, and `utm_medium=paid-social`
- Partial campaign name matching when the campaign name appears in your UTM data

The best setup is to send clear UTM parameters on every Meta ad, especially `utm_source`, `utm_medium`, and `utm_campaign`.

## Before you start

Make sure you have:

- The [DataFast tracking script](/docs/getting-started) installed on your website
- A payment provider connected, or revenue sent through the [Payment API](/docs/payments-api)
- Access to the Meta ad accounts you want to track
- Active campaigns with UTM parameters on the destination URL

Without revenue attribution, DataFast can still connect to Meta, but ROAS needs payment or revenue data to be useful.

## Set up Meta ads attribution

1. Open your [DataFast dashboard](/dashboard) and select a website.
2. Go to **Website Settings** > **Integrations**.
3. Find **Meta Ads** and click **Connect Meta Ads**.
4. Sign in with the Facebook account that has access to your ad accounts.
5. Select one or more ad accounts.
6. Select the campaigns you want to track.
7. Save your changes.

DataFast will start showing Meta ad spend and ROAS for the selected campaigns on your dashboard.

## Recommended Meta UTM setup

In Meta Ads Manager, add URL parameters to your ads. A good default is:

```text
utm_source=meta&utm_medium=paid-social&utm_campaign={{campaign.id}}&utm_content={{ad.id}}
```

You can also use campaign names:

```text
utm_source=meta&utm_medium=paid-social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}
```

Using `{{campaign.id}}` is usually cleaner because IDs do not change when you rename a campaign. Using `{{campaign.name}}` is easier to read in reports. Both can work.

If you already use `facebook`, `instagram`, `fb`, `cpc`, `paid`, or `ads` in your UTM setup, DataFast can still match many campaigns, but consistent UTMs will improve attribution.

## Best practices for better ROAS

- Use the same UTM template on every Meta ad.
- Keep one campaign ID or campaign name in `utm_campaign`.
- Connect your payment provider so DataFast can attribute revenue automatically.
- Keep the DataFast script on every landing page and checkout success page.
- Select only the campaigns you actively want to measure in DataFast.
- Compare Meta Ads Manager and DataFast with the same date range and timezone.

## Meta Ads Manager vs DataFast

Meta Ads Manager is built around Meta's attribution model. It can include modeled conversions, view-through attribution, and events collected by the Meta pixel or Conversions API.

DataFast is built around your website visitors and revenue. It answers a different question: "Which tracked visitors and payments in DataFast came from this Meta campaign?"

Because the systems use different attribution rules, numbers may not match exactly. That is expected. Use DataFast when you want visitor-level analytics, revenue attribution, and ROAS in the same dashboard as the rest of your marketing channels.

## Troubleshooting

### I do not see any ad accounts

Make sure the Facebook account you connected has access to the Meta ad account in Business Manager. If not, reconnect with another account.

### ROAS is empty

Check that:

- A payment provider is connected or payments are sent through the Payment API
- The selected date range has both Meta spend and attributed revenue
- You selected at least one campaign in the Meta Ads settings
- Your ads use UTM parameters on the final URL

### Revenue is lower than Meta reports

DataFast only counts revenue it can see and attribute through your website tracking and payment setup. Meta may include modeled conversions, view-through conversions, or conversions from a different attribution window.

### Campaign matching is not accurate enough

Use `utm_campaign={{campaign.id}}` or `utm_campaign={{campaign.name}}` in Meta Ads Manager. The clearer your campaign parameters are, the easier it is for DataFast to attribute Meta ads revenue to the right visitors.

## Common questions

### Can DataFast attribute Meta ads revenue to visitors?

Yes. DataFast ties visitor journeys to payments, then combines that revenue with Meta campaign spend. This gives you Meta ads revenue attribution and ROAS inside your analytics dashboard.

### Does this work for Facebook ads and Instagram ads?

Yes. Meta Ads includes Facebook and Instagram campaigns. DataFast looks for Meta, Facebook, Instagram, and paid social traffic patterns in your campaign data.

### Do I need the Meta pixel?

The DataFast integration does not replace the Meta pixel. Meta's pixel is still useful for ad delivery and optimization. DataFast gives you an independent view of visitors, revenue, and attribution in your own analytics.

### What is the best way to attribute Meta ads revenue?

Use DataFast tracking on your website, connect your payment provider, connect Meta Ads, and use consistent UTM parameters on every ad. This gives you a clear link between ad spend, visitors, payments, and ROAS.
