Traqio.

E-commerce & marketplace · This is you if

You sell in an app or on a site, orders are paid on your own checkout, and you can't tell which campaign brings buyers who come back.

For e-commerce and marketplaces: ROAS on real orders

Orders, revenue and ROAS per campaign, ad set and ad — the first order and every repeat order, credited to the ad that brought the buyer.

Free up to 2,000 conversions a month, per product. No card, no call.

Reports
Example data
Orders and ROAS by campaign
Last 30 days
  • MetaCatalog_retarget
    3.30×

    Spend $1,400 · Orders 186 · Revenue $4,620

  • Apple AdsBrand_exact
    4.10×

    Spend $300 · Orders 41 · Revenue $1,230

  • TikTokUnboxing_creator
    2.00×

    Spend $820 · Orders 74 · Revenue $1,640

  • MetaBroad_prospecting
    0.82×

    Spend $1,600 · Orders 52 · Revenue $1,310

  • Total
    2.14×

    Spend $4,120 · Orders 353 · Revenue $8,800

Break-even = 1.00×

Reading it: broad prospecting brings first orders at a loss; retargeting and the brand keyword carry the account — and now you see both.

Today

Without Traqio, it looks like this

  • Meta and TikTok each claim the same order, so their ROAS added up is higher than your sales.
  • Your checkout knows the order, not which ad brought that buyer the first time.
  • Repeat orders are credited to whatever ad was clicked last — or to nobody.

How it works

Three steps, then you read the report

  1. 1

    Report orders where they are paid

    From your server, with the buyer's id and the payment's own id — a retry never counts twice. In the app, the SDK reports the install.

    // Your server, when an order is paid
    await traqio.track({
      userId: buyer.id,
      name: "purchase",
      value: 64.9,
      currency: "EUR",
      transactionId: order.paymentId,
    });
  2. 2

    Connect your ad accounts

    Meta, TikTok and Apple Ads: each day's spend is joined to the orders it produced.

    Connects with

  3. 3

    Read ROAS on real orders

    Orders, revenue and ROAS per campaign, ad set and ad — repeat orders keep crediting the campaign that acquired the buyer.

    Example data
    • Meta · Catalog_retarget3.30×
    • Apple Ads · Brand_exact4.10×

What it costs

Free up to 2,000 conversions a month, then $0.04 each

  • A conversion is one attributed install, or one new user on a website.
  • Purchases, renewals and every other event are measured, never billed.
  • Every feature is on every plan — the plans differ in volume only.

Billing is not switched on during early access: nothing is charged today.

See full pricing

Example: 6,000 conversions this month

2,000
included
4,000 × $0.04
$160
Total
$160 this month

Questions before you start

Is each order billed?

No. The billed unit is the buyer: one attributed install, or one new user on a website. Orders and every other event are measured, never billed.

Are orders sent back to Meta and TikTok?

Yes — purchases the app reports and orders your website's server reports, each with an event id your SDK or pixel can share, so nothing counts twice.

Is there a plugin for my store platform?

No. Orders are reported from your server in a few lines, or by the app's SDK; nothing is installed in your store's back office.

The detailed answer, with sources

In e-commerce and marketplaces the payment happens on the seller's own checkout, in an app or on a website, and a buyer acquired once keeps ordering. Traqio takes each order from the server that records it, with the buyer's id and the payment's own id, credits it to the campaign that acquired that buyer, and divides it by the spend pulled from Meta, TikTok and Apple Ads — per campaign, ad set and ad. The buyer counts once, as one conversion; orders are measured and never billed.

Orders reported where they are paid

In e-commerce and marketplaces the payment usually happens on the seller's own checkout, outside the app stores. Traqio takes each order from the server that records it, with the buyer's user id and the payment's own id, and credits it to the campaign that acquired that buyer — through the app install, or through the website sign-up.

The payment id is a deduplication key: an order reported twice, by a retry or by both the app and the server, is one order.

Repeat orders follow the buyer. The tenth order of a customer acquired by a campaign is revenue of that campaign, which makes return on ad spend readable over months instead of on first orders alone.

Campaign, ad set, ad — read one level at a time

Traqio stores spend at three levels — campaign, ad set and ad — and the three levels nest, because an ad belongs to an ad set that belongs to a campaign. Every Traqio ROAS report therefore reads one level at a time; adding the levels together would count the same money three times.

The rule is enforced in code and covered by a regression test, because a tripled denominator divides ROAS by three without any visible error. The same caution applies to any spreadsheet built from an export of several levels at once.

Sending conversions back to Meta and TikTok

The Meta Conversions API is a server-to-server interface for sending conversion events directly from an advertiser's server to Meta, instead of relying only on a client SDK or pixel. The TikTok Events API is TikTok's server-to-server interface for sending conversion events from an advertiser's server to TikTok Ads Manager.

Traqio forwards install and purchase events to both APIs with one shared event id, so an app that also runs Meta's or TikTok's own SDK has each conversion counted once. The forwarding feeds each network's optimisation; it does not change how Traqio attributes the install.

What counts as a conversion

In Traqio, a conversion is one attributed install; the events that follow it are measured and reported but never billed, and organic installs are not billed. A conversion is a billing unit, which is different from Meta's “conversion event” and from the general marketing sense of any desired user action.

An app acquiring 400 attributed installs a month and measuring a purchase event that fires 300 times records 400 conversions — inside the free plan; the 300 purchases are measured and reported, not billed. The same app at 6,000 attributed installs and 2,000 measured purchases records 6,000 conversions: 2,000 free and 4,000 at $0.04, which is $160 at the published rate — the 2,000 purchases add nothing to it.

Events are measured, never billed: an app that instruments every purchase, renewal and ad impression pays exactly what it would pay sending none. The bill follows the installs a campaign acquired, so there is never a reason to send less data to pay less.

Organic installs are recorded as organic and never count toward the bill. AppsFlyer likewise states on its pricing page that organic, unattributed installs are not counted as conversions.

What counts as a conversion in Traqio, and what am I billed for?
In Traqio, a conversion is one attributed install; the events that follow it are measured and reported but never billed, and organic installs are not billed. The first 2,000 conversions of every month are free for each app, and each conversion above that is priced at $0.04.
Is there a minimum ad spend or an annual commitment?
No. Traqio has no minimum ad spend, no annual commitment and no seat fee, and ROAS is not gated behind any tier. ROAS is computed from the first attributed install and the first unit of campaign spend.

Sources

Last updated 2026-11-13

See this report with your own numbers.

Create an account, declare your app or site, get your keys. Nobody will call you.

Free up to 2,000 conversions a month, per product. No card, no call.

Other cases

Use cases