CAPI tracking

Meta ads attribution tool built on your real orders

See which ad brought each order to your store. In beta, Portantis also sends your real sales straight to Meta, so it learns from the people who really buy.

Why it matters

When Meta and the store disagree on sales, owners move budget on numbers they cannot check, and Meta learns from only part of their real buyers.

Portantis also runs orders, stock and product profit, so it can judge an ad by the orders and profit it really brought, which a tool that only sees the ad side cannot do. Order attribution runs today on a live store, and sending sales straight to Meta is in beta.

Meta and your store count different sales

Meta and your store rarely agree on how many sales an ad brought. When the numbers disagree, every budget decision is a guess, and a good ad can look weak while a weak one looks fine.

Meta also misses some of your buyers, so it learns from only part of the people who really buy. Then the choice of which ads to keep rests on sales nobody can match to a real order.

Each order traced to the ad that brought it

Orders that came from a Meta ad show the ad that brought them, and the exact image or video when that is clear. You see which ads really sell.

What Meta says it sold sits next to the orders your store really received, with spend and trends. Alerts tell you when a product's ads start or stop, who stopped them, why, and how the product was selling.

In beta, Portantis sends your real sales straight to Meta, so it learns from more of your buyers. Nothing is sent until someone on your team tests it and switches it on, and one switch turns it off.

You see which ad brought each order in the Meta Ads menu. Sending sales straight to Meta (beta) is tested and switched on or off in the Meta Ads settings.

The AI checks your store before it suggests a pause

Before the AI suggests pausing a new ad, it looks at your real store orders too, so a good ad is not stopped just because Meta counted its sales late. After a pause it checks again and tells you if sales showed up after all. Its budget suggestions are based on what your products really earn. Pauses and budget changes wait for your OK, unless you have set a rule that lets them happen on their own.

How it works

  1. A shopper buys from your adSomeone clicks one of your Meta ads and places an order in your store.
  2. You see which ad soldThe order shows the ad that brought it, and the exact image or video when that is clear.
  3. You compare the two countsWhat Meta says it sold sits next to the orders your store really received.
  4. Your sales reach Meta (beta)When your team has tested it and switched it on, your real sales go straight to Meta. One switch turns it off.

What changes for you

  • Budget decisions based on real orders
  • Winning ads proven by real sales
  • Orders traced to the ad that brought them
  • Real sales sent straight to Meta, in beta

CAPI tracking, feature by feature

See which ad brought each order

Store orders that came from a Meta ad show the ad that brought them, and the exact image or video when that is clear. Your ads are ranked by the real orders they brought.

  • A shopper who comes back a little later to buy still counts for the ad that brought them.
  • It counts real orders you can check, not sales Meta estimates on its own. Each order counts once, and test or cancelled orders stay out.
  • When an order is not linked to any ad, the reason is shown next to it.
  • Compare your images and videos by the orders they brought, even when the same one runs in several ads.

You stop guessing which ad sells and put money behind the images and videos that bring real orders.

Meta's sales next to your real orders

See what Meta says it sold next to the orders your store really received, with the gap between them shown as its own number.

  • Pick a recent period and compare it with the one before, or with the same days last year.
  • Meta's side shows spend and sales. Your store's side shows orders, visits and cart adds.
  • A day with missing store figures is left blank, so an unfinished day never looks like a bad one.
  • Every product has its own comparison, with a daily chart of Meta's sales next to your orders.

You decide on budget with the orders your store really got, not only with what Meta says about itself.

New ads are not stopped too early

Before a pause is suggested for a new image or video, your real store orders are checked as well as Meta's numbers, so a good ad is not cut just because Meta counted its sales late.

  • A new ad gets a fair chance to prove itself before anyone suggests stopping it.
  • Sales count whether Meta saw them or only your store did.
  • It only suggests. A person on your team decides whether to pause.
  • After a pause it checks again and tells you if sales showed up after all.

Fewer good ads are stopped before their sales show up.

Real profit and break-even for each product

Each product's ad view shows Meta's figures next to your real profit: what you keep, the most an order can cost in ads before you lose money, and how many ad orders are already settled.

  • See the most you can pay in ads for one order before the product stops making money, with refused parcels and returns already counted.
  • See what each order really costs you in ads, next to Meta's own figure.
  • See how many ad orders are already delivered, so you know if profit can still change before you spend more.
  • See how many parcels customers did not collect, which matters most for cash on delivery.

You grow products on real profit after refused parcels and returns, which Meta's numbers leave out.

Alerts when a product's ads stop

Your team is told when a product's ads go live for the first time, come back, or all stop.

  • The alert says who stopped the ads: a person on your team, a rule you turned on, or someone working directly in Meta.
  • It shows how the product has been selling lately, when those figures are available.
  • When ads stopped because a product ran out of stock, you get one message, not two.
  • An alert means the ads really stopped, so your team is not chasing false alarms.

A product whose ads go quiet is noticed quickly, with the person or rule behind it already named.

Ad spend checked against your profit report

Portantis checks that what Meta charged you matches your profit report and your products, and tells you plainly: balanced, or needs attention, with the difference shown.

  • Ad spend that no product owns is listed for each ad account, so it cannot hide inside an average.
  • When the numbers do not add up, budget suggestions wait until you have checked.
  • When figures are out of date, budget suggestions wait for fresh ones instead of using old numbers.

No product looks more profitable than it is because some ad spend went uncounted.

How many visitors buy, by product and by source

One report per store: visits, cart adds, orders and average order, with where visitors come from, a product table and the daily trend.

  • See how many visitors add to cart and how many go on to buy.
  • Where visit figures are missing, the report says so instead of guessing, and your orders stay visible.
  • Sales are shown from gross to total, with discounts, returns, shipping and taxes, so you see where the average order comes from.
  • Products are ranked by orders, with visits, revenue and how many visitors buy, for the period you pick.

You see whether a sales drop came from fewer visitors, fewer cart adds or fewer orders before you touch the ads.

Your real sales sent straight to Meta Beta

In beta, Portantis sends your real store sales straight to Meta, so a sale still counts when Meta would have missed it.

  • Each sale counts once in Meta, never twice.
  • Customer details are protected before they leave Portantis. Meta can recognise the buyer without seeing the raw details.
  • Orders that should not count, such as deleted ones, are held back.
  • Only new sales are sent, from the moment you switch it on. Your old order history is never sent to Meta in bulk.

More of your real sales reach Meta, so it learns from the people who really buy.

Test it before anything is sent Beta

Sending sales to Meta starts switched off, with nothing leaving Portantis. Your team sends a test, checks that everything is ready, and only then switches it on.

  • A test never switches on real sending.
  • The start button stays locked until everything is ready, and starting asks you to confirm.
  • One emergency switch stops all sending at once.
  • Only owners, admins and moderators can test, start or stop it.

You check it before anything reaches Meta, and one switch stops it.

Tell Meta which orders were confirmed and delivered Beta

For cash on delivery, a placed order is not money yet. In beta, Portantis also tells Meta when the buyer confirms the order and when the parcel is delivered.

  • Meta learns the difference between an order that was only placed and one that was really collected.
  • Each order's confirmation and delivery are reported once.
  • Like sales, nothing is sent until your team switches it on, and the emergency switch stops it too.

Meta learns which buyers really took their parcel, the signal that matters most for cash on delivery.

What you can do with CAPI tracking

  • Fund the ads that bring orders

    Open order attribution, sort your images and videos by real store orders, and move money from ads that get clicks but no orders to the ones that sell. Meta's own count stays beside it.

  • Keep new ads through slow reporting

    A new video shows no Meta sales in its first days, but your store already has orders from it. Portantis sees them, so it does not suggest a pause.

  • Grow products on delivered orders

    Before you raise a product's budget, check the most it can pay in ads per order and how many ad orders were already delivered. A product whose parcels are often refused shows it here before you spend more.

  • Catch a product whose ads stopped

    When a product's last running ad stops, your team is told who stopped it and why, with recent sales, so someone can decide the same day whether to restart it.

  • Find ad spend no product owns

    At month end, see whether what Meta charged matches your profit report. Spend that no product owns is listed for each ad account, so no product looks better than it is.

  • Send Meta the sales it misses

    In beta, your real sales go straight to Meta, so buyers Meta would have missed still count. You send a test first, and one switch turns it off.

  • Tell Meta which parcels were delivered

    For cash-on-delivery orders, the beta also tells Meta when the buyer confirmed and when the parcel was delivered, so your ads learn from parcels that were really collected.

  • Explain a sales drop before cutting ads

    The conversion report shows whether visits, cart adds or orders fell, per store and per product, so you know if the problem is traffic, the product page or the offer before you cut any budget.

The work it takes off your team

TaskBy handWith CAPI tracking
Matching Meta sales to store ordersExport Meta results and store orders, then match them in a spreadsheet, one ad at a time.Each order already shows the ad that brought it, or the reason when it has none.
Rechecking an ad that was pausedReopen the ad manager later and compare its numbers with store orders by hand.Portantis checks again for you and tells you if the paused ad was selling after all.
Finding out who paused a product's adsAsk around the team, then dig through the ad account history to see who paused what, when and why.The alert names the person, your rule or a change made in Meta, with the product's recent sales.
Checking ad spend against the profit reportAdd up spend per ad account, compare it with the profit sheet and hunt for spend no product was charged for.You get a clear verdict, balanced or needs attention, with spend no product owns listed per account.
Sending your sales straight to MetaPay a developer to connect your store to Meta, then keep watching for sales counted twice or buyers Meta does not recognise.Still in beta: you test it, confirm and switch it on yourself, and one switch turns it off.

Everything CAPI tracking does

Status checked

Working today

  • Order attributionSee which ad, and which image or video, brought each store order.
  • Meta sales vs store ordersCompare what Meta says it sold with the orders your store really received, with spend and trends.
  • Ad started and stopped alertsKnow when a product's ads start or stop, who stopped them, why, and how the product was selling.
  • New ad protectionA new ad is checked against your real store orders before a pause is suggested, not on Meta's numbers alone.
  • Profit per ad and productSee the real profit of every ad and product, and what each order really costs you in ads.
  • Ad spend checkMakes sure every bit of ad spend lands on a product, and flags spend that does not.
  • Conversion rate reportVisits, how many visitors buy, cart adds and average order for each store, with where visitors come from and the daily trend.

In beta

  • Sales sent straight to MetaYour real sales reach Meta so it learns from more of your buyers. You test it first, and one switch turns it off.

Questions about CAPI tracking

What is CAPI tracking in PortantisAI?

CAPI tracking is the PortantisAI module that shows which Meta ad brought each order to your store, and puts what Meta says it sold next to the orders you really received. In beta, it also sends your real sales straight to Meta, so it learns from the people who really buy.

Why send my real sales straight to Meta?

Meta does not see every sale your ads bring. CAPI tracking sends your real store sales straight to Meta, so it learns from more of the people who really buy. In Portantis this part is in beta. Seeing which ad brought each order, and comparing Meta's count with your store, are live.

Will Portantis start sending my sales to Meta on its own?

No. Nothing is sent until someone on your team switches it on. You can send a test first, and one switch in the Meta Ads settings turns it off.

Why doesn't Meta's sales count match my store?

Meta counts the sales it can see, and it misses some. Portantis shows which ad brought each order and puts Meta's number next to the orders your store really received, so you decide on real orders.

Does it replace the reports in Meta's ad manager?

No. You still see what Meta reports, with spend and trends, right next to your real store orders. You just no longer have to take it on trust.

Why can't the ad platform do this by itself?

Meta sees clicks and the sales it can count. It does not see your orders, your stock or what each product really earns. Portantis runs those parts of your business too, so it can judge an ad by the orders and profit it really brought.

Does Portantis track shoppers who refuse cookies?

No. A visit is only recorded when the shopper agreed to it in your store's cookie banner. If they change their mind, their visit is deleted and nothing from them is sent to Meta. The order still counts in your store figures.

Why is an order shown as not linked to any ad?

Only real ad clicks count. An order stays unlinked when, for example, the shopper refused tracking, clicked on one device and bought on another, or clicked too long before buying. The reason is shown next to the order.

Does sending sales to Meta help a cash-on-delivery store?

That is where it helps most. A cash-on-delivery order is not money yet, so in beta Portantis also tells Meta when the buyer confirms and when the parcel is delivered. Meta can then tell a collected order from one that was only placed. Nothing is sent until your team switches it on.

Who can switch sending to Meta on or off?

Only owners, admins and moderators of your workspace. In this beta they can send a test, switch it on once everything is ready, and use the emergency off.

How is customer data protected when it is sent to Meta?

In this beta, customer details such as email, phone, name and address are protected before they leave Portantis, so Meta can recognise buyers without receiving the raw details. Visit records are deleted automatically after a set time.

20 founding stores. Then the waitlist closes.

CAPI tracking is part of Portantis, now in closed beta. We set every founding store up by hand.

Used only to review and follow up on your closed-beta request. No newsletter or ad tracking. Privacy