Meta Ads Conversion Tracking & Attribution Setup Guide
Connect Facebook and Instagram Ads to push real conversions back to your Meta Pixel via the Conversions API. Multi ad-account and Lead Ads support.
On this page
Connecting Meta Ads to SourceLoop opens up the full conversion loop for Facebook and Instagram campaigns. Every time a tracked lead converts on your site (form submission, meeting booked, payment received), SourceLoop sends that conversion back to Meta via the Conversions API. The bidding algorithms train on real revenue instead of relying only on browser-side pixel events that get blocked by privacy settings.
This article covers the OAuth connect flow only. After connecting, see:
Why connect Meta Ads to SourceLoop?
The Meta Pixel that fires in browsers covers maybe 60% of conversions on a good day. iOS tracking restrictions, ad blockers, third-party cookie restrictions, and consent banners eat the rest. The Conversions API closes that gap by sending events server-side from your backend (in this case, SourceLoop) instead of the browser.
What SourceLoop adds:
- Server-side conversion push via the Conversions API, immune to browser-side blocking
- Click matching using Meta’s own click and browser identifiers, plus hashed email and phone
- Revenue values sent on every conversion when payment integrations are connected
- Event-level dedup so server-side and browser-side reporting of the same conversion don’t double-count
- Lead Ads capture for Facebook and Instagram Lead Ads (with the right scopes during connect)
- Multi-touch attribution within SourceLoop, while feeding Meta the conversion signals it needs for tROAS and CAPI-driven bidding
Before you start
You’ll need:
- A SourceLoop workspace with the tracking pixel installed
- A Meta Business Manager account that owns the ad accounts you want to connect
- A Meta user with Admin access on the Business
- An existing Meta Pixel (or Dataset) attached to the ad account, you’ll need its Pixel ID in the next article
- An Admin or Editor role in SourceLoop
Step 1: Open the Ad Platforms page
- Sign in to SourceLoop.
- Click Setup in the left sidebar.
- Click the Ad Platforms tab.
- Scroll to the Meta Ads card and click Connect.
You’ll be redirected to Meta’s OAuth consent screen on facebook.com.
Step 2: Authorise SourceLoop on Meta
- Sign in to Facebook with the user that has Admin access on your Business Manager.
- Review the scopes SourceLoop is requesting (ads management, ads insights, Business enumeration, plus Pages scopes for Lead Ads capture).
- Pick which Business and ad accounts SourceLoop should access. Meta lets you scope the OAuth grant to a subset; uncheck anything SourceLoop shouldn’t see.
- Click Continue.
Meta redirects you back to SourceLoop with a short-lived authorization code, which SourceLoop exchanges for a long-lived access token (good for 60 days). The token is stored encrypted.
Step 3: Pick the Meta ad account
If your Meta user has access to more than one ad account (common for agencies and teams), SourceLoop shows a picker with every account, including currency and timezone.
- Find the ad account you want to connect.
- Click Connect this account.
SourceLoop creates a connection for that specific ad account. The Meta Ads card flips to Connected with the account name and Account ID.
Step 4: Add your Pixel ID and CAPI token
To actually push conversions, SourceLoop needs two pieces of information that only you can see on Meta’s side: your Pixel ID and an access token that’s authorised to write to that Pixel.
The full walk-through is in Send conversions to Meta. Short version:
- Open Activation -> Conversion sync and click New sync, or pick a template.
- Under Send to, pick your Meta ad account. SourceLoop asks for your Meta Pixel ID (visible in Meta Events Manager) and a System User Access Token for that pixel.
- Click Save pixel, then finish the sync and save it.
From then on, spend syncs daily and conversions are sent within minutes of happening.
What gets synced
Into SourceLoop, daily:
- Your campaigns, ad sets, and ads, with spend, impressions, clicks, and the conversions Meta itself reports
- Recent days are fetched again each time, to catch Meta’s late updates
- Ad thumbnails and formats, for the Creatives report
- Lead ads: submissions from Meta lead forms can arrive in SourceLoop as leads, set up on the Lead capture tab of the Meta Ads drawer
Back to Meta, only what you choose:
Nothing is sent to Meta until you create a sync under Activation -> Conversion sync. Each sync sends one moment, such as every lead, Good leads, or won deals, with the value you choose. See the Conversion sync overview.
What’s next
- Pick which SourceLoop events map to which Meta event_name (Lead, Purchase, etc.): Configure Meta Conversions API sync.
- Troubleshoot any push errors or stale syncs: Troubleshoot Meta Ads sync issues.
- Disconnect or reset the integration: Disconnect Meta Ads from SourceLoop.
Frequently asked questions
-
Do I need a Meta Business Manager account?
Yes. SourceLoop connects to ad accounts owned by your Meta Business, so a Business Manager account is the entry point. If you have a personal ad account that hasn't been claimed by a Business yet, claim it first at business.facebook.com.
-
Which ad accounts can I connect?
Every active ad account your Meta user has access to. After OAuth, SourceLoop shows the list, currency and timezone included, and you pick one per connection. Repeat the flow to connect multiple accounts.
-
What's the difference between my Pixel ID and the System User Access Token?
The Pixel ID is the public identifier of your Meta Pixel (or Dataset) where events should be reported. The System User Access Token is the credential SourceLoop uses to call the Conversions API against that Pixel. You enter both in the Meta drawer after the initial OAuth connection. We walk through finding each one in the Configure article.
-
My Meta token expires every 60 days, do I need to reconnect manually?
SourceLoop monitors token health and emails you a reminder when the token is approaching expiry. If a Long-Lived Access Token is in use, SourceLoop renews it automatically when it's still valid. If your Pixel uses a System User token (recommended for stability), those don't expire at all.
-
Does this work for Instagram Ads too?
Yes. Meta Ads is the unified surface for both Facebook and Instagram placements. Conversions captured by SourceLoop are reported with `action_source = 'website'` to the Conversions API and Meta routes them to whichever campaign and placement drove the click.
-
What scopes does SourceLoop request from Meta?
The required scopes are `ads_management` (push conversions via Conversions API), `ads_read` (pull spend and impressions), `business_management` (enumerate your ad accounts), plus four Page-related scopes used only if you also enable Lead Ads capture, `pages_show_list`, `pages_manage_metadata`, `pages_read_engagement`, `leads_retrieval`. We never ask for personal Facebook content like messages or friends.
-
Can I sync more than one Meta ad account into the same SourceLoop workspace?
Yes. Each ad account is a separate connection. Repeat the Connect Meta Ads flow once per account; they sync and push conversions independently.