Measure
Meta ad spend and ROAS
Connect Meta Ads in one click to see what each campaign, ad set and ad cost next to the sales Sporetag credits, with Meta's own numbers beside ours.
Connect Meta Ads, and the Attribution tab shows what each campaign, ad set and ad cost next to the sales Sporetag credited to it. You see return on ad spend (ROAS), cost per purchase, and what Meta says beside what Sporetag saw.
Sporetag only reads. It can never change your ads, budgets or audiences.
It is on paid plans: Solo, Studio, Agency and Custom. Free does not include it.
Connect with Meta
- Open your site, then Integrations. Under Ad spend, click Connect next to Meta Ads.
- Log in to Meta and allow Sporetag to read your ad results.
- Back in Sporetag, tick the ad accounts to read. Accounts that spent in the last 90 days are ticked for you.
- Click Start. A progress bar shows the import of the last 90 days. You can leave the page.
That is all. After the import, spend updates every hour.
When the login ends
A Meta login can end, often after about 60 days. When it does, the Meta Ads row says Reconnect. Click Reconnect Meta and log in again. Your spend so far is kept, and the sync picks up where it stopped.
Other ways to connect: a System User token
A System User token never ends, which suits agencies with many clients. Open Other ways to connect on the Meta Ads page and follow these steps. Meta's screens change from time to time, so the names may differ a little.
- In Meta, open Business settings, then Users, then System users. Click Add. Name it
Sporetagand pick the Employee role. - Click Assign assets. Pick Ad accounts, tick your ad account and turn on View performance. Save.
- Click Generate token. Pick your business app. If you have none, make one first at developers.facebook.com, type Business.
- Set the expiry to Never if Meta offers it. Tick the
ads_readpermission, then generate. - Copy the token. Meta shows it only once. Paste it in Sporetag and click Connect.
Sporetag checks that the token has ads_read and can see an ad account. It is stored encrypted and never shown again.
Already use the Meta Conversions API on this site? The page offers Use the token saved for Meta Conversions API. It works when that token can also read ad results.
What Sporetag reads
For each ad account you pick, per day: spend, impressions, clicks, and the purchases and purchase value Meta reports, with the account's currency. It reads campaigns, ad sets and ads.
- The first import reads the last 90 days.
- Each hour after, it reads again from 3 days before the last sync, because Meta updates recent days late. A day read twice replaces itself. It never counts twice.
- When Meta asks Sporetag to slow down, the sync pauses and carries on later. It does not show as an error.
Matching spend to sales
Spend joins the sales Sporetag credits by the tags on each ad's link:
- Campaign id first. Our Meta URL template sends
utm_id={{campaign.id}}, which matches even after you rename a campaign. - Then names.
utm_campaign,utm_termandutm_contentare matched to the campaign, ad set and ad names, written the way the link builder writes them: lowercase, with hyphens for spaces. "Spring Sale" andspring-salematch.
After the import, the Meta Ads page checks your active ads. If some have no Sporetag tags, it shows the one line to paste:
utm_source=facebook&utm_medium=paid-social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}&utm_id={{campaign.id}}In Ads Manager, open the ad, find URL parameters under Tracking, paste it and publish. You can select many ads and edit them together. More in Tracking ads with UTMs.
Reading the numbers
On the Attribution tab, Spend and return has a switch for Platform, Campaign, Ad set and Ad. It follows the period and the first touch or last touch switch above it.
| Column | What it is |
|---|---|
| Spend | What Meta charged in the period |
| Sales | Purchases Sporetag credited to it |
| Revenue | Their value |
| ROAS | Revenue divided by spend. 3.0x means $3 back for each $1 |
| Cost per purchase | Spend divided by sales |
| Meta says | The purchases and value Meta counts itself |
Meta and Sporetag count in different ways. Meta counts views and clicks inside its own windows, and models some sales it cannot see. Sporetag counts the sales it saw on your site, your server and your store, credited by first or last touch. Both are useful. A big gap is worth a look.
Spend we could not match to tracked links lists campaigns with spend but no tracked visit in the period. Most often their ads have no tags. Add the URL template to fix it.
Currencies
Sporetag never converts money. When ad accounts use different currencies, each currency shows on its own line, and ROAS shows only where spend and sales use the same currency. Sales sent without a currency count as US dollars, as on the rest of the report.
Disconnect
On the Meta Ads page, click Disconnect Meta. Sporetag deletes the saved login and the spend it brought in. Connect again to bring the spend back.
Something missing or wrong? Email hello@sporetag.com.