Product

One campaign, one report: how AdZoic brings ad exchanges and partner networks into a single view

Animated: two separate dashboards, one for an ad exchange and one for a partner network, each with its own bars and total, with a spreadsheet between them marked 'reconciled by hand' and a red not-equals sign. They slide together into a single report with stacked bars and one total line. Caption: one campaign, one total — the same on the overview, the daily table and every breakdown.

Most campaigns don't run in one place. A brand may buy programmatic inventory through ad exchanges while also running display through a partner network. Each source reports in its own dashboard, with its own definitions, its own time zone and its own currency. The result is familiar to every account team: two sets of numbers, a spreadsheet to reconcile them, and a client asking why the totals don't match. We built AdZoic's reporting to remove that step. Agencies and brands shouldn't have to reconcile two dashboards to know what a campaign delivered.

One total, everywhere you look

When a campaign runs across ad exchanges and partner networks, AdZoic merges the delivery into one set of reports. Impressions, clicks, viewability and cost appear as a single figure on the overview, the daily table and every breakdown — and they add up to the same total on each page. Clients see one campaign, not a list of suppliers.

Two details make that possible without fudging anything. Money is converted into one reporting currency using dated exchange rates, because each source bills in its own. And a source that doesn't report a particular metric contributes nothing to it, rather than dragging the merged figure towards zero — a partner that sends no viewability data does not make the campaign look less viewable than it was.

Fresh data, without manual exports

Where a partner network offers a reporting connection, its delivery is pulled in automatically every hour. Each pull re-reads the last few days rather than just appending the newest, because partners restate recent figures, and a report that only ever adds would drift away from the partner's own. The detailed list of apps and websites a partner ran on is refreshed every day. Delivery from the ad exchanges, where our own bidder does the buying, refreshes every fifteen minutes.

For a connected partner there are no spreadsheet exports to chase and no end-of-week uploads. A partner that can only provide files still lands in the same report through an import path, so the client's view doesn't change with the plumbing behind it.

Transparency down to the placement

Clients can see the apps and websites their ads appeared on, with impressions, clicks, viewability and cost for each one. The list shows the largest placements by name and groups everything smaller into one explicit remainder line — “and N more” — so the chart's total stays exact. Nothing is silently truncated to make a tidy top ten.

On one recent campaign, a brand launching in a new market could see, on day one, that more than 200,000 impressions had run across more than 3,000 apps and websites. The large majority were attributed to a named placement, and the rest was shown openly as a single grouped line rather than hidden.

Animated: a placement breakdown. Named apps and websites fill in one by one with bars for their impressions, then a grey grouped row appears for everything smaller, labelled 'and the rest, grouped — shown openly, one line'. A bracket adds the rows up, and the sum equals the campaign total stated at the top. Caption: every breakdown adds up to the campaign total, including what a source could not attribute.

The breakdown rule: name what you can, group what you can't, and make the rows add up to the total shown at the top of the page.

Metrics you can defend

Reporting is only useful if it holds up when a client asks a hard question. A few principles guide how AdZoic counts:

  • Viewability follows the industry convention: viewable impressions divided by measurable impressions. Across sources it is summed and then divided, never averaged — an average of two rates gives a small partner the same weight as a large exchange. What has to be true before an impression counts explains the standard behind it.
  • Reach counts real users only. Impressions that arrive without a user identifier are reported as delivery, but never counted as extra “people” in reach. And because a person who saw the campaign on two days is one person, not two, wherever reach has to be combined across days or placements the report labels the figure as an upper bound rather than presenting it as exact.
  • Days follow one clock. Every source has its own idea of “today”. The report keeps one reporting day and files partner delivery into it hour by hour, so the client and the report mean the same thing by “yesterday”. Where a partner reports only whole days and its clock doesn't line up with ours, the figure is marked approximate rather than quietly moved.
  • Totals reconcile. Every breakdown table adds up to the campaign total, including what a source couldn't attribute. If the rows don't add up, the report is wrong, not the world.

Built for agencies

Agencies can run AdZoic under their own brand — their name, logo and colours, on their own domain once they have proved they own it — with their own logins for their teams and for their clients. Each user sees what their role needs. Client teams see delivery and the price they pay. Internal teams see the operational detail behind it, including the split by source, which is never shown to a client role: the client bought a campaign, not a list of suppliers.

What this means for you

  • For agencies: less time reconciling, and faster answers when a client asks what they bought.
  • For brands: one clear view of the whole campaign, wherever it ran — with numbers that hold up when someone asks how they were counted.
The lesson that travels

A report that needs a spreadsheet beside it isn't finished. The work of merging sources, lining up clocks and currencies, and making the rows add up belongs in the platform — not in an account manager's Friday afternoon.

See it on your own campaign

A note on numbers

The figures quoted are from a single campaign, rounded, and illustrative; results vary by market, inventory and campaign setup. We don't publish the names of our supply partners or of the brand concerned, and no client data appears here. This describes how our own platform counts, as it works today.

A
AdZoic team
Making ad buying make sense, from Dhaka.
Keep reading

Related reading

Animated: billed impressions walk down five gates — served, rendered, measurable, viewable, valid — with a red slice peeling off at each gate for its reason, and the valid remainder turning tealMeasurement

Served, rendered, viewable, valid: the standard behind every impression we report

You buy ten thousand ads and the report says fewer. The five questions an impression must answer, the published standard for each, and why we keep two records of every ad.

Sep 2026 · 9 min read
Bar chart with a trend line and CPM, CTR, CVR and ROAS chipsMeasurement

eCPM, CTR, impressions: the metrics that actually matter

Decode the dashboard. What each number means, what "good" looks like, and which ones to watch.

Jun 2026 · 5 min read
Animated: ad requests stream through ingress, Go bidder and cache-plus-models layers into a bid decision inside the auction deadlineEngineering

Inside adZoic: the architecture behind millions of ad decisions a day

Our stack, system design, security posture and scaling approach — shared openly, with a diagram and honest numbers.

Aug 2026 · 8 min read

← Back to all posts