Platforms · Meta ads

Meta sees a click. You see the sale.

Tag every ad with one template. See sales by campaign, ad set and ad. Then send real sales back to Meta, from our server.

See how it works

  • One template for every ad
  • Facebook and Instagram ads
  • Conversions API on paid plans

A demo feed of six orders from Meta ads. The pixel misses four of them; Sporetag credits each order to its ad set and sends it to Meta. Demo data.

Every order credited to its ad set, then sent to Meta. Demo data.

What Meta misses.

Meta reports on its own ads, from its own pixel. Some sales never reach it.

meta pixel · last 30 daysdemo data
Orders Meta did not match31%20 of 65 orders
Repeat orders Meta saw0After the first click window
What that costs youMeta learns from fewer sales and finds worse buyers.
  • Missed

    Blocked pixels

    The pixel runs in the browser. Blockers and privacy settings can stop it.

  • Missed

    Late sales

    Someone clicks today and buys next week on a laptop. That can go unmatched.

  • Missed

    Everything else

    Meta sees its ads only. Not your texts, emails or bio link.

Ads Manager · with a Sporetag columndemo data
Purchases by ad set: what Meta reported and what Sporetag saw. Demo data.
Ad setMeta reportedSporetag saw
Spring sale, video1826
Gift sets, carousel1117
Lookalike, 3%712
Retargeting, 30 days910
Total, 4 ad sets4565
Sporetag saw +20 more sales on the same ads.Demo data. Yours will differ.

Better data

Same ads. Now Meta learns from every sale.

  • Sales by campaign, ad set and ad
  • Late orders and repeat orders still count
  • The sales go back to Meta, from our server

Late sales

The ad started it. Give it the credit.

People tap an ad, leave, and come back days later by typing your address. Last click calls it direct. Sporetag ties it to the ad set.

Journeys across days need Attribution mode, on paid plans.

customer journey · tracked by Sporetagdemo data
  1. Day 0Tapped your ad, looked around
  2. Day 1Saw a story, did not tap
  3. Day 4Came back by typing your address
  4. Day 4Bought, $112
Last click said Direct The ad got no credit
Sporetag, first touch $112 To the ad set, sent to Meta

Example journey. Demo data.

How Sporetag fills it.

Same ads, same posts. Now each one shows what it sold.

  • Sporetag

    Every ad tagged

    One template names the campaign, ad set and ad on each click.

  • Sporetag

    Sales by ad set

    The attribution report shows which ad set and ad sold, first or last touch.

  • Sporetag

    Sales sent back

    The Conversions API sends your goals to Meta from our server.

Sporetag37 sales
MetaReceiving
Google Ads(when shipped)

Set it up

Done in minutes.

These are the real screens in the app. No developer needed.

  1. Step 01: Add one line

    Put Sporetag on your site.

    • Add your website address in the app.
    • Pick where your site is built. Copy one line.
    • Paste it where the guide says. The check turns green.
    sporetag.com/app/startstep 2

    Where is your site built?

    • Shopify
    • WordPress
    • Squarespace
    • Wix
    • Webflow
    • Framer
    • Google Tag Manager
    • Plain HTML
    <script defer data-site="fernandmoss.example" src="https://sporetag.com/s.js"></script>Copy

    First visit arrived. You are set up.

  2. Step 02: Tag your ads

    Copy the Meta template.

    • Open Links, then New link. Pick the Meta ads chip.
    • Copy the template it shows.
    • Paste it in URL parameters on each ad.
    sporetag.com/app/links/newthe app
    Track each ad in Meta Ads ManagerCopy
    utm_source=facebook&utm_medium=paid-social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}&utm_id={{campaign.id}}
    1. In Ads Manager, open your ad. Put your page address in Website URL, not the short link.
    2. Under Tracking, find URL parameters and paste this.
    3. Publish. Meta fills in the campaign, ad set and ad names. A renamed ad shows its new name after you publish again.
  3. Step 03: Count what matters

    Add a goal for the sale.

    • Open Goals and pick Page visit.
    • Use the thank-you page, like /checkout/thanks.
    • Or send an event from your site, like a signup.
    sporetag.com/app/s/fernandmoss/goalsthe app

    Add a goal

    EventSent from your site with JavaScript.Page visitA path like /thanks. Use * for any part.
    NamePurchase
    Event name or path/checkout/thanks
    Add goal
  4. Step 04: Connect Meta

    Paste two values from Meta.

    • Open Integrations on your site.
    • Paste your pixel id and an access token.
    • Tick the goals to send. Pick the Meta event for each.
    sporetag.com/app/s/fernandmoss/integrationsthe app
    Meta Conversions APIConnected
    Pixel id1234567890123456
    Test event codeTEST12345
    Access token••••••••••••••••••••Stored encrypted. It is never shown again.

    Goals to send

    • Purchase/checkout/thanksPurchase
    • Newsletter signupNewsletter signupLead
    • Read a care guide/guides/*Contact
  5. Step 05: Check it

    Watch sends arrive.

    • The delivery log shows each send and what Meta said.
    • Failed sends retry for 24 hours.
    • Use a test event code to see them in Events Manager first.
    sporetag.com/app/s/fernandmoss/integrations/meta-logdemo data
    Meta delivery log. Demo data.
    WhenEventStatusMeta's answer
    12:11:52Purchasewith fbc, ip, user agentSentReceived 1 event.
    12:30:07Leadwith fbc, ip, user agentSentReceived 1 event.
    13:02:44Purchasewith email, phone, ipSentReceived 1 event.
  • No developer needed
  • No changes to your ads
  • No cookie banner in Private mode

Your ads stay the same. Meta gets better data.
You spend on what sells.

Better targeting

Meta learns from real sales.

  • Goals you tick go to the Conversions API
  • Sent from our server, with an event id so each counts once
  • fbclid and hashed email or phone help Meta match
sporetag.com/app · senddemo data
CatchSendLearn
Sporetag65 sales caught
MetaReceiving salesOptimizing delivery
Google Ads(when shipped)
Sales the platform missed, sent from our server.How it works

One dashboard

Everything in one dashboard.

Meta ads beside every other source, with the goals they bring. Try it on the demo shop.

sporetag.com/app · fernandmoss.exampledemo data
Unique visitors5,450+18%
Pageviews12.2k+19%
Conversions2,375+16%
Purchases559+14%
  • Google1,623
  • Instagram595
  • Facebook460
  • Newsletter404

Open the live demoRead a walkthrough

The template

Copy it once. Paste it in Meta Ads Manager.

Meta Ads Manager fills in the names on each click. The same text is on the new link form in the app.

URL parameters
utm_source=facebook&utm_medium=paid-social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}&utm_id={{campaign.id}}
  1. In Ads Manager, open your ad. Put your page address in Website URL, not the short link.
  2. Under Tracking, find URL parameters and paste this.
  3. Publish. Meta fills in the campaign, ad set and ad names. A renamed ad shows its new name after you publish again.

What works today.

Checked against the app. Anything not live says so.

Live now

  • The Meta ads chip and a template with campaign, ad set and ad names
  • fbclid read on landing, kept with the visit
  • Sales by campaign, ad set and ad in the attribution report
  • The Conversions API, on Solo, Studio, Agency and Custom
  • An event_id on every send, so Meta counts a sale once
  • Hashed email and phone from your server, never stored in plain text

Not yet

  • Ad spend and return on ad spend from Meta (when shipped)

Meta Conversions APITracking ads with UTMsThe attribution report

Our promise

30 days to decide. Or your money back.

If Sporetag is not right for you, ask within 30 days of your first payment. We refund it in full. No questions asked.

  • Cancel any time in Billing
  • Export your data as CSV
  • Free plan with no card

Questions, answered.

Do I still need the Meta pixel?

You can keep it. Pass the same event id to the pixel and to Sporetag, and Meta counts the sale once. Sporetag sends from our server. With the script proxy or the Events API on paid plans, ad blockers are far less likely to stop the count too.

Does this change my ads?

No. You paste one line of URL parameters on each ad. Your ads, budgets and audiences stay the same.

Does it work for Instagram ads?

Yes. Instagram ads run in Meta Ads Manager, so the same template and the same Conversions API cover them.

What does Sporetag send to Meta?

For each goal you tick: the event name, the time, the page, the click id, the IP address and browser, and the value if you send one. Server events can add an email or phone, hashed first.

Which plans include the Conversions API?

Solo, Studio, Agency and Custom. Free has basic stats only.

I already use Google Analytics. Why add this?

Keep it if you like. Sporetag adds what it does not: short links that see the sale, credit by ad set and link, sales sent to Meta, and simple dashboards for clients.

Will it slow my site down?

No. The script is small, loads after your page and sends one short message per page view.

What does it cost?

Paid plans start at $29 a month, with prices on the pricing page. No sales call needed. Free is a small way to try basic stats.

What if it is not right for me?

Ask within 30 days of your first payment and we refund it in full. No questions asked. You can also cancel any time in Billing.

Know which platforms drive revenue.

Set up in minutes. Then watch the first sale come in.