Cash Flow Inventory
Menu
Documentation

The attribution Health tab

What each number on the attribution Health tab and the ad-platform health cards means, what good looks like, and what to do when something turns red.

Where in the app
IntegrationsCFI Order AttributionHealth
Last reviewed
Reading time
9 min

What it is

The Health tab is the first tab on the Order attribution page. It answers: "Are my orders still arriving with their ad source?" Further health signals sit on the Ad platforms tab: a health line under each connected ad account, the counters of Server conversions, Pixel on your shop, and Ads health in the Ads Growth Agent section.

Why it matters: tracking breaks quietly. A theme update removes the consent banner, someone installs a second pixel plugin, a password change expires the ad account sign-in. Nothing errors on your shop, but the report slowly fills with orders marked direct, and the ad platforms learn from wrong numbers. Checking health once a day catches this within a day, not at month end.

Note Example: a shop's capture rate is normally around 60%. On Tuesday it shows 21%. The Last order with a source line says Saturday. A plugin update on Saturday removed the consent banner, so nobody could say yes. The owner reinstalls the banner on Tuesday and loses three days of data instead of a month.

Who it is for

  • Shop owners who check their ads every day
  • Marketing staff and agencies running the ad accounts
  • Whoever set up the plugin and the store connection

Before you start#

  • You need access to Integrations. Buttons such as Check now need the Edit right.
  • The plugin must be installed and the store connected. See Set up order attribution.

Step by step#

  1. Open Integrations › CFI Order Attribution. The Health tab opens first.
  2. Read the three tiles: Sales orders, last 30 days, With an ad / campaign source and Capture rate.
  3. Read Where orders came from (30 days) and, with two or more stores, Captures by store (30 days).
  4. Read The plugin card: the last order with a source, and the stores.
  5. If a Cost per order jumped card shows, open the ROAS report for that platform and day.
  6. Open the Ad platforms tab. Under each connected account, read the health line (Last run …).
  7. Under Server conversions, read Last 7 days: … sent, … failed, … skipped for each platform you switched on, and open Recent conversions if anything failed.
  8. Under Pixel on your shop, choose Check now if the last check is old.
  9. Under Ads Growth Agent, read Ads health and fix the highest findings first.

What you see#

The Health tab

ItemWhat it meansWhat good looks like
Sales orders, last 30 daysEvery sales order of the business in the last 30 daysRises and falls with your sales
With an ad / campaign sourceOrders that arrived with a click id or campaign tagsMost of your web-store orders from ads and campaigns
Capture rate — of orders carry their sourceThe second tile divided by the firstSteady from week to week. A sudden drop is the alarm
"… orders carried only a consent decision or browser ids — not counted as captured."Orders with no click and no tag, only a consent choiceNormal; these are direct or untagged visits
Where orders came from (30 days)Captured orders per platform (google, facebook, tiktok … or direct)Matches where you spend
Captures by store (30 days)Captured orders per shop, only with two or more shopsEvery shop present
Last order with a sourceTime, platform and campaign of the newest captured order, and the plugin version that captured itWithin hours on a normal sales day
Current plugin versionThe newest plugin version available from the appCompare it with the version in Last order with a source
Cost per order jumpedA platform's cost per order on a day was more than 2 standard deviations above the previous daysAbsent, or explained (a new campaign, a holiday)

Note Read the capture rate with care. The first tile counts every sales order of the business, including orders typed in by staff or sold at a counter. A shop with many counter sales has a lower rate even when tracking works. Watch the trend, not the absolute figure. An update that counts only store orders is coming.

Note Current plugin version is the version the app offers, not necessarily what your shop runs. The version your shop runs is the one shown in brackets after Last order with a source (for example "plugin 2.4.0").

The ad account health line (Ad platforms tab)

LineMeaningWhat to do
Last run … · day rows, campaignsLast night's spend import workedNothing
paused (rate limit) — resumes tonightThe platform asked the app to slow downNothing; it continues the next night
failed with the platform's messageThe import failedRead the message; reconnect if it is about the sign-in
No run yet — the first sync runs tonight.Connected todayWait one night
History: back to a date13 months of history are importedNothing
History: stopped at a date — continues tonightThe history import is still going, newest firstWait a few nights
… of … pulls failed this weekRepeated failuresCheck the message and the sign-in
(Sign-in expired — connect it again)The platform refused the saved sign-inChoose Connect again with the same account

Spend imports run every night. Each run imports the last 30 days again, because platforms correct spend for weeks.

Server conversions counters

For each platform you switched on: Last 7 days: {sent} sent, {failed} failed, {skipped} skipped, and a list in Recent conversions:

  • Sent: the platform accepted it.
  • Waiting, with {n} tries so far: it will be retried with growing gaps.
  • Failed, with the platform's message.
  • Skipped, with a reason, for example Skipped: no marketing consent, Skipped: older than the platform accepts, No ad click or customer contact on the order, Nothing was paid, Cancelled before it was sent, Kept for the exclusion audience (this platform has no negative event).

Many skips are correct. A buyer who refused cookies is never sent. See Cash-on-delivery conversions.

Pixel on your shop

Read once a day from the plugin, or with Check now. You see who loads the pixel, other pixel plugins found, browser events and server copies sent or failed in the last 7 days, and Last checked with a time.

Ads health findings

FindingMeaning
The sign-in to the ad account expired, or expires on a dateReconnect before the date
Meta matches few buyers for an event: Event Match Quality below 6 out of 10Meta can't link enough events to people; more contact details or browser ids help
Meta can't de-duplicate an event: under 90% of server events carry the event idBrowser and server copies may be counted twice
Meta receives an event from the server for only part of the browser eventsServer conversions are off or failing for that event
More than 10% of events reach Meta more than 24 hours lateThe conversions job is delayed
Purchase reaches Meta from two placesAnother plugin sends a browser Purchase; switch it off

Daily use#

A cash-on-delivery shop in Bangladesh

Each morning: the Health tab (is Last order with a source from today?), then the Meta and TikTok account lines (did last night's import run?), then Server conversions (are Purchases being sent as parcels settle?). It takes two minutes.

Expect a lower capture rate than a shop outside the EU, because many shoppers say no. That is fine. What matters is that it stays steady. If it drops to near zero, check the consent banner first.

A multi-location retailer with two web shops

Check Captures by store (30 days). If one shop's count drops to zero while the other carries on, the problem is on that shop: plugin deactivated, banner removed or store connection broken.

Good practice#

  • Check daily, act on changes. A steady low rate is a fact about your customers; a sudden drop is a fault.
  • Fix sign-in problems first. While a sign-in is expired, spend stops being imported.
  • Keep the shop's plugin version close to Current plugin version.
  • After any change to the shop's theme, banner or plugins, place one test order from a tagged link.

Troubleshooting#

What you seeWhyWhat to do
Capture rate drops suddenlyBanner removed, plugin off, capture switched off, or a theme changePlace a test order; check the plugin and the banner
No order has arrived with an ad source yet.Nothing captured so farSee Set up order attribution
All captures show "direct"The ads carry no tags and no click ids arrivePaste the UTM templates; keep Google auto-tagging on
Store not known (plugin before 2.0)Orders captured by an old pluginUpdate the plugin
The shop refused the connection key.The store connection's key was changedReconnect the store
The shop could not be reached.Shop offline or blocking the appCheck the shop is up and not blocking the app
The store plugin is older than 2.3.0 — update it.Old plugin on the shopUpdate it from the WordPress Plugins screen
Many Failed conversions with a sign-in messageThe token was revoked or expiredPaste a new token or reconnect; see the limits below
Server conversions need a database update first. Nothing is sent until it is applied.Your business is waiting for an updateNothing to do on your side; ask support if it stays

Limits and what is not there yet#

  • The capture rate counts every sales order, not only web orders, and Current plugin version is the version the app offers, not your shop's.
  • Health is spread over two tabs today. A single health centre is planned, with one status per platform, delivery speed, match quality, versions, sign-ins and a test button.
  • Today, if a platform refuses the token, waiting conversions are retried a few times and can then fail for good. After the 2026-11 update, a refused token pauses that platform and keeps its events waiting until you reconnect, instead of losing them.
  • The Cost per order jumped card is a simple statistical check over the previous days. Treat it as a hint.

Questions#

What is a good capture rate?

There is no single number. It depends on how many of your orders come from the web store, how many shoppers accept cookies and how many visits come from tagged ads. Watch for change over time.

Why does the plugin's own Diagnostics show a different rate?

The plugin counts orders on the shop itself. The app counts every sales order of the business, including other channels.

How often is the Health tab updated?

Every time you open it. Spend lines change once a night; pixel health once a day or on Check now; conversions every 10 minutes.

Who gets told when something breaks?

When an ad platform refuses the saved sign-in, the business gets a notification and it shows in the dashboard's Needs your attention list.

All guides

Type at least 2 letters.↑ ↓ to moveEnter to openEsc to close