Products

Delivery report

See exactly what reached each ad platform, and the reason for anything that did not. Every send, every skip and every failure, counted per platform, with the money attached.

What it is

The delivery report is a per-platform summary of every conversion DataCops tried to send. For Meta, Google Ads, TikTok and every other connected destination, it shows how many were sent, skipped or failed, and the conversion value that went out. Below that, it lists each reason a conversion did not go, in plain English, with how many and how much value. It covers the last 30 days by default and can look back up to 400 days. It is on every plan.

It sits on top of the delivery log, the record DataCops keeps of every attempt. The log is the detail. The report is the answer to the question you actually ask: did my conversions get there, and if not, why?

Why it matters

With a browser pixel, you never really know. The tag fires or it does not, and the only sign of trouble is a dip in the ad platform's numbers weeks later. By then the algorithm has already learned from the gap.

Server-side delivery changes that, because every send is a request DataCops makes and can record. The delivery report turns those records into something you can read in a minute. If Meta received 412 purchases and skipped 38, you can see that the 38 were bots, rejected consent or duplicates, and decide if anything needs fixing.

Sent, skipped, failed

Every attempt for every platform ends in one of three states:

  • Sent. The platform accepted it. The value is added to that platform's total.
  • Skipped. DataCops chose not to send it, on purpose, for a reason it can name. Most skips are your own settings or a safety check doing its job.
  • Failed. DataCops tried, and the platform said no or did not answer. The platform's reply is turned into a plain reason, like an expired login.

Platforms are listed busiest first, so the one with the most activity is always at the top.

The reasons

Each skip or failure carries a fixed reason code, shown with a short label. These are the main groups you will see:

GroupExample reasons
Your choicesPlatform not picked for this event. Platform switched off for this event. Blocked by your send rule. Sending is paused. Watch-only mode, nothing sent. Page views are not switched on for this platform.
Quality checksVisitor was a bot. Visitor looked fraudulent (Real people only). Same sale received twice, counted once. Test order, not sent.
ConsentVisitor rejected consent. Visitor gave no consent.
MatchingNo ad click ID and no email or phone to match on. No email or phone to send. Event is not mapped to this platform.
WaitingWaiting for your system to confirm (a held lead). Your CRM said the lead did not qualify.
ConnectionPlatform login expired, reconnect needed. Platform connection is missing details. No ad account picked. No conversion set up on the platform.
Platform repliesPlatform rejected a field in the event. Platform refused access. Platform asked us to slow down. Platform was down or busy. Platform did not answer in time.

CRM and email destinations show up the same way, for example "CRM push to hubspot: no fields mapped" when a field mapping is missing. Anything that does not fit a known code is still shown, with the closest readable label DataCops can give it.

The value behind each reason

Counts tell you how often. Value tells you how much it matters. For every platform, the report adds up the conversion value that was sent. For every reason, it adds up the value that did not go out for that reason. Values are kept per currency, so a store selling in pounds and euros sees each one on its own.

So instead of "38 skipped", you see "22 skipped as duplicates, worth this much, and 16 skipped as bots, worth that much". Duplicates kept out mean the platform was not told about the same sale twice. Bots kept out mean money the algorithm will not chase.

The delivery log

Under the report is the full delivery log: one row per event per platform, with the status, the reason, when it was tried and which detail it matched on. When a platform rejects a send, the log shows the platform's own words. Use the report to spot a pattern, then open the log to look at the single conversions behind it.

The report is rolled up by the hour from the log, so it stays fast even over long ranges. You can pick any date range up to 400 days.

Fix what you can

Many reasons point straight at a fix:

  • Platform login expired. Reconnect the platform in one click.
  • Event is not mapped to this platform. Map the event in the Event Manager.
  • No conversion set up on the platform. Create the conversion action on the ad platform, then pick it in DataCops.
  • No ad click ID and no email or phone. Capture an email on your form or checkout, or add the Cloudflare Worker to catch more click IDs.
  • Sending is paused, or watch-only mode. Switch the platform back to live when you are ready.

Others are the system working as intended. Bots, rejected consent and duplicate sales are supposed to stay out.

Good to know before you start

  • It shows what DataCops sent. Each platform's own attribution and reporting stay in that platform's dashboard.
  • The default range is 30 days. Pick any range up to 400 days.
  • It covers every destination. Ad platforms, CRMs and email tools are all in one place.
  • It is on every plan. No extra setup. It fills in as soon as conversions start flowing.
Was this page helpful?