Module 8 · Chapter 1 of 7
Discrepancies, monitoring and the full system
Current chapter: Welcome, outcomes and key terms
You finished Discrepancies, monitoring and the full system.
Lock it in with the 8-question quiz. Instant results, retake any time.
0:00Welcome, outcomes and key terms
Play from 0:00 It's the first week of November. Your partner's invoice for October says twelve thousand four hundred dollars. Ad Manager says ten thousand five hundred and forty. Illustrative numbers.
Play from 0:17 Finance wants to know which one is right, by Friday.
Play from 0:26 And there's a second, quieter question. If something broke in October, why are you only finding out now?
Play from 0:31 This module answers both. Welcome to Module 8, the final module of the RediAds Academy Header Bidding Masterclass: discrepancies, monitoring and the full system.
Play from 0:36 By the end of this module, you'll be able to do four things.
Play from 0:40 Explain why two reports counting the same impressions disagree.
Play from 0:45 Reconcile them with a worksheet, line by line, until only a small unexplained remainder is left.
Play from 0:52 Monitor four rates from Prebid's events, with alerts you tune to your own site.
Play from 0:58 And run a weekly ops checklist that keeps the whole system, from page to invoice, healthy.
Play from 1:07 Eight terms first.
Play from 1:08 A discrepancy is the gap between two systems counting the same thing. A counting point is the exact moment a system records an impression. A reconciliation worksheet explains a gap one cause at a time. Net versus gross: revenue after the partner's fee, or before it.
Play from 1:29 IVT means invalid traffic: bots and other non-human activity. Render rate is the share of winning Prebid ads that actually display. An analytics adapter is a Prebid module that sends auction events to a reporting tool. And a baseline is a rate's normal range on your own site.
Play from 1:52 Modules 1 to 6 built the auction. Module 7 showed you how to debug one page view.
Play from 2:01 This is Module 8, the last one. We zoom out from one page view to millions, and then we put all eight modules together as one system.
2:11Why reports disagree
Play from 2:12 Chapter one. Before you reconcile anything, you need to know why two honest systems end up with different numbers.
Play from 2:21 Here's our example. Illustrative numbers.
Play from 2:25 Your partner reports twelve thousand four hundred dollars for October. Ad Manager shows ten thousand five hundred and forty for the same partner's line items.
Play from 2:35 That's a gap of one thousand eight hundred and sixty dollars, or fifteen per cent.
Play from 2:41 Before anyone sends an angry email, remember this. Two systems counting the same thing will never match exactly. The real question is whether you can explain the gap.
Play from 2:55 The biggest reason is that each system counts at a different moment.
Play from 2:59 First, a bid wins. Some partners count from this point, using a win notice. Ad Manager counts an impression when the creative begins to render. Many partners count when their own pixel fires, after the creative has loaded. And a viewable impression counts only when enough of the ad is on screen for long enough.
Play from 3:14 Every step loses a little. Readers leave, scripts fail, slots scroll away.
Play from 3:30 Let's put numbers on that. Follow one thousand winning bids through the counting points. Illustrative numbers.
Play from 3:37 One thousand win notices.
Play from 3:40 Nine hundred and seventy-five Ad Manager impressions. Twenty-five readers left, or the slot was never requested.
Play from 3:47 Nine hundred and sixty partner pixels. Fifteen creatives started but never finished loading.
Play from 3:54 Six hundred and forty viewable impressions.
Play from 3:57 Four honest numbers for the same thousand wins. Which one you see depends on which report you open.
Play from 4:06 So how big a gap is normal? There's no official standard, and anyone who gives you one number for every site is guessing.
Play from 4:15 Instead, measure your own. Track the gap with each partner every month, for at least three months.
Play from 4:23 A gap that sits steady month after month is a known quantity. Here, Partner A's impression gap stays between two and four per cent. Illustrative.
Play from 4:33 A gap that suddenly moves is the signal, even if it's still small.
Play from 4:38 And check your contract. Many partner agreements name the report that decides payment, and that matters more than any rule of thumb.
Play from 4:49 Some gaps aren't lost impressions at all. They're the same money, counted differently.
Play from 4:55 Time zones. If your partner reports in UTC and your Ad Manager network runs on India time, every day and every month is cut at a different hour.
Play from 5:08 Currency. One system converts at a daily rate, the other at a monthly rate, or in a different currency altogether.
Play from 5:16 Net versus gross. A partner's dashboard may show spend before its fee. Prebid bids are usually net, and every bid response carries a netRevenue flag saying which.
Play from 5:29 And price buckets. Ad Manager estimates Prebid revenue from the line item's rate, which is the rounded-down bucket, not the real bid.
Play from 5:41 Other gaps are real impressions that one system saw and the other didn't.
Play from 5:46 Invalid traffic. Each system filters bots with its own rules, so one side removes impressions the other kept.
Play from 5:55 Late renders. A reader leaves before the creative loads, so one pixel fires and another doesn't.
Play from 6:02 Ad blockers. They can block the partner's pixel, or the ad server call, but not always both.
Play from 6:09 And lazy loading. If auctions run too far ahead of the reader, a win can be logged for a slot that never renders.
Play from 6:17 These can push the gap in either direction. The direction is your first clue.
Play from 6:24 The direction of the gap narrows the search straight away.
Play from 6:28 If the partner's number is higher, look first at causes that make them count more: an earlier counting point, gross figures, invalid traffic that Ad Manager removed, and Ad Manager's rounded-down bucket prices.
Play from 6:43 If Ad Manager's number is higher, look at causes that make the partner count less: a later counting point, such as a pixel on load, stricter invalid traffic filtering on their side, or their pixel being blocked.
Play from 6:58 Our example has the partner higher, so the worksheet starts with fees, buckets and time zones.
Play from 7:07 Three mistakes we see before anyone opens a spreadsheet.
Play from 7:11 Treating any gap as proof that someone's cheating. Most of it is counting points and accounting.
Play from 7:18 Comparing a partner's gross dashboard with Ad Manager's net estimate, and calling the difference "missing money".
Play from 7:26 And using one standard threshold for every partner. Your normal with one partner can be very different from your normal with another.
7:36The reconciliation worksheet
Play from 7:37 Chapter two. Here's a repeatable way to close the gap, one cause at a time, with every number written down.
Play from 7:46 Before you compare a single number, align four things.
Play from 7:51 The date range: the same start and end, to the day. The time zone: both reports in the same one. The currency: the same currency, converted the same way. And the metric: impressions against impressions, net against net.
Play from 8:09 A partner reporting in UTC and a network on India time disagree by five and a half hours at each end of the month. On a busy final evening, that alone can move hundreds of dollars between months.
Play from 8:18 Skip this step, and every comparison after it is noise.
Play from 8:29 Then compare impressions before you compare money. Illustrative numbers.
Play from 8:35 The partner counted six million eight hundred and ninety thousand impressions. Ad Manager counted six million seven hundred thousand.
Play from 8:44 That's an impression gap of under three per cent, against a revenue gap of fifteen.
Play from 8:50 So most of this gap isn't counting. It's pricing and accounting. If impressions matched badly too, you'd start with counting instead.
Play from 9:01 Here's the worksheet. One row per cause.
Play from 9:04 Start from the partner's figure at the top. Each row below removes one explained difference, with its amount, its evidence and who checked it.
Play from 9:14 A running total shows where you are after each row.
Play from 9:18 And the last row is the one that matters: what's still unexplained after everything else.
Play from 9:26 First, the accounting rows. Illustrative numbers.
Play from 9:31 Net versus gross. The partner's figure was gross. With an eight per cent fee, that's nine hundred and ninety-two dollars. Running total: eleven thousand four hundred and eight.
Play from 9:44 Time zone. Re-cutting the partner's month to India time moves two hundred and ten dollars into September and November. Running total: eleven thousand one hundred and ninety-eight.
Play from 9:57 Currency. Both reports are in dollars at the same rate, so this row is zero. Write it down anyway. A row of zero tells the next person you checked.
Play from 10:09 Now the counting rows.
Play from 10:11 Bucket rounding. Ad Manager values each Prebid impression at its bucket, rounded down from the real bid. That's three hundred and ten dollars. Running total: ten thousand eight hundred and eighty-eight.
Play from 10:26 Invalid traffic. Ad Manager filtered impressions that the partner kept. That's one hundred and forty dollars. Running total: ten thousand seven hundred and forty-eight.
Play from 10:38 Lost renders. Wins the partner counted that never rendered, so Ad Manager never counted them. One hundred and fifty dollars. Running total: ten thousand five hundred and ninety-eight.
Play from 10:52 Compare that last running total with Ad Manager's ten thousand five hundred and forty.
Play from 10:58 Fifty-eight dollars left unexplained. That's about half a per cent.
Play from 11:03 Ninety-seven per cent of the original gap is now explained, with evidence on every row.
Play from 11:09 That's a very different conversation from "fifteen per cent is missing". And it's a conversation you can have with finance by Friday.
Play from 11:19 Here's the worksheet from the slides, live. At the top, the partner's figure: gross, and in UTC. At the bottom, Ad Manager's, on India time. The gap is eighteen hundred and sixty dollars.
Play from 11:34 First row: gross to net. Minus nine hundred and ninety-two. Watch the running total move.
Play from 11:41 Time zone, minus two hundred and ten. And currency: zero. It still gets a row, because someone will ask.
Play from 11:49 Then the counting rows: bucket rounding, invalid traffic and lost renders.
Play from 11:54 Fifty-eight dollars unexplained. That's the number worth a conversation.
Play from 12:01 But one row deserves a closer look. Lost renders. Switch to the daily view: partner and Ad Manager impressions for every day of October.
Play from 12:08 Sort by the gap. Most days sit at one or two per cent. And then there's Wednesday the fourteenth, at forty. The change log for that day says a new sticky footer went live. Now the lost renders row has a cause, and someone to fix it.
Play from 12:26 That's why you slice. A monthly total hides everything. Illustrative numbers.
Play from 12:32 By day, most of October shows a small, steady impression gap of one to two per cent.
Play from 12:39 Wednesday the fourteenth shows forty.
Play from 12:42 Now you have a question you can answer: what changed that day? A release, a new ad unit, a partner outage?
Play from 12:50 Repeat the same split by ad unit and by bidder, until the gap points at one thing. Here, it points at the sticky footer on mobile.
Play from 13:01 If a gap is still unexplained after the worksheet, involve the partner. A good ticket gets a good answer quickly.
Play from 13:10 The date range and time zone you used. Your numbers and theirs, side by side, by ad unit and day. The affected ad units, with a sample page URL. And evidence: a HAR file saved from the Network tab, console output, or auction IDs.
Play from 13:28 Any partner, RediAds included, can act on a ticket like this on day one, because their support team can reproduce the problem straight away.
Play from 13:38 Keep the tone neutral. You're sharing data and asking for theirs. The goal is one explanation that both teams accept.
Play from 13:49 Three mistakes we see with reconciliation.
Play from 13:52 Reconciling revenue before impressions. You spend a week on accounting when the real problem is a slot that stopped rendering.
Play from 14:01 Leaving rows out because they're small. Ten small unexplained rows add up to one large argument.
Play from 14:09 And reconciling once a year. Last month's numbers are easy to explain. Last March's are not.
Play from 14:17 Pause and answer.
Play from 14:24 Partner and Ad Manager impressions for the month match within two per cent. Revenue differs by twelve per cent. Where do you look first?
Play from 14:30 Pricing and accounting: net versus gross, currency conversion, time-zone cut-off and Ad Manager's bucket-based revenue estimate. Matching impressions tell you counting isn't the main problem.
14:45Monitoring with analytics
Play from 14:46 Chapter three. Reconciling once a month finds problems weeks late. Monitoring finds them in a day.
Play from 14:56 Start with an analytics adapter.
Play from 14:58 Prebid emits events for every auction: requests, bids, no-bids, timeouts, wins and renders.
Play from 15:07 An analytics adapter listens to those events. You switch one on with pbjs dot enableAnalytics.
Play from 15:14 It sends them to a reporting tool, so you see what happened on every page view, not just yours.
Play from 15:21 Many analytics companies offer adapters. There's also a generic adapter that sends events to an address you choose, or to your own handler function, if you'd rather build your own reports.
Play from 15:34 Here's the path from one page view to a dashboard.
Play from 15:37 On the page, Prebid emits events. The adapter batches them and sends them to a collection endpoint. A data store keeps them, with the bidder, ad unit, page template, device and time on every row. And the dashboard counts them, grouped any way you like.
Play from 15:56 Those extra fields matter more than the dashboard. Without the ad unit and device on every event, you can't slice, and a site-wide average is all you'll ever see. Or skip the build: RediAds' real-time analytics report auction performance, latency, fill rate and revenue for every ad unit.
Play from 16:19 From those events, watch four rates.
Play from 16:22 Bid rate: bids divided by bid requests. That's demand.
Play from 16:27 Timeout rate: late answers divided by bid requests. That's latency.
Play from 16:33 Win rate: Prebid wins in Ad Manager divided by bids. That's pricing.
Play from 16:39 Render rate: successful renders divided by render attempts, one for every Prebid win. That's rendering.
Play from 16:48 Watch each one per bidder and per ad unit. A site-wide average can look calm while one bidder on one slot has stopped working entirely.
Play from 16:58 Here's one bidder on one slot, for one day. Illustrative numbers.
Play from 17:03 Two hundred thousand bid requests. One hundred and thirty thousand bids: a bid rate of sixty-five per cent.
Play from 17:11 Nine thousand late answers: a timeout rate of four and a half per cent.
Play from 17:16 Twenty-six thousand Prebid wins in Ad Manager: a win rate of twenty per cent.
Play from 17:21 And twenty-five thousand successful renders: a render rate of about ninety-six per cent.
Play from 17:29 On its own, none of these numbers is good or bad. They become useful when you compare them with the same bidder's numbers last week.
Play from 17:38 Two checks before you trust these rates.
Play from 17:41 Sampling. Many adapters let you collect only a fraction of sessions. The generic adapter has a sampling option, for example a tenth of sessions. That's fine for rates, but multiply before you compare totals with Ad Manager.
Play from 17:57 Coverage. Pages that load Prebid without the adapter, or apps and AMP pages that use a different set-up, are invisible here.
Play from 18:06 A simple sanity check: compare the adapter's Prebid wins with Ad Manager impressions on your Prebid line items, for the same day. If they're far apart, fix the measurement before you trust the rates.
Play from 18:20 Every number on a monitoring dashboard starts as an event on a page like this one.
Play from 18:29 Here the generic analytics adapter is switched on, with a handler that prints each event instead of sending it. This is exactly the stream a reporting tool receives: one line per event.
Play from 18:39 Now count them for this page view. Four bid requests, one per bidder. Three bids. One no-bid. One Prebid win, and one successful render. Multiply that by a million page views, and you have the rates from the last slide.
Play from 18:55 Now the same page, with a broken creative. It asks Prebid for an ad ID that doesn't exist. The slot is blank. Count again. No render success this time, and one render failure.
Play from 19:08 And the failure carries its reason: cannotFindAd. That's the blank-ad case from Module 7. In your analytics, it shows up as a render rate that drops on one ad unit, the morning after a creative change.
Play from 19:23 Three mistakes we see with monitoring.
Play from 19:26 Watching only revenue. Revenue moves for many reasons, including seasons and advertisers. Rates tell you which layer moved.
Play from 19:36 Watching only site-wide averages. Break every rate down by bidder and by ad unit.
Play from 19:43 And never checking the measurement itself. An adapter that misses a third of your pages gives you confident, wrong rates.
19:53Alerts for your own site
Play from 19:54 Chapter four. Rates on a dashboard only help if someone looks at them. Alerts make sure someone does.
Play from 20:04 Don't alert on a fixed number. Alert on change. Illustrative data.
Play from 20:10 Here's one bidder's timeout rate over four weeks, steady at around eight per cent. That's its normal.
Play from 20:17 Then it jumps to twenty-five per cent overnight.
Play from 20:21 An alert that fires when a rate moves far from its own baseline catches this on day one, not on the invoice.
Play from 20:30 So what's a baseline? It's the normal range of one rate, for one bidder, on one ad unit.
Play from 20:37 Use about four weeks of history, so one bad day doesn't define normal.
Play from 20:43 Compare like with like: weekdays with weekdays, mornings with mornings. Traffic on a Sunday night looks different from Monday morning.
Play from 20:52 Store the middle value and the usual range. An alert asks one question: is today outside that range?
Play from 21:00 And refresh baselines after planned changes, such as a new bidder or a new timeout. Otherwise you'll alert on your own improvements.
Play from 21:10 Here are four alerts we might set for an illustrative news site. They're examples to adapt, not rules. Your numbers should come from your own baselines.
Play from 21:21 Timeout rate: a bidder's rate is more than double its four-week middle value, for two hours in a row.
Play from 21:29 Render rate: an ad unit's rate falls below its lowest daily value of the last four weeks, for a whole day.
Play from 21:37 Zero delivery: Prebid line items on a slot that normally serves hundreds of impressions an hour serve none for an hour.
Play from 21:46 Partner gap: the weekly impression gap with one partner moves more than three points from its usual level.
Play from 21:54 Let's watch the first of those alerts at work. Illustrative numbers.
Play from 21:59 Bidder B's timeout rate on mobile article pages has a four-week middle value of eight per cent, usually between six and eleven.
Play from 22:09 So the alert fires if it stays above sixteen per cent for two hours.
Play from 22:14 At two in the morning on the twenty-second, it jumps to twenty-five. At four, the alert fires, and the on-call owner gets a link to the dashboard.
Play from 22:24 Step one of the routine is already done: one bidder, mobile, since two o'clock. They send the partner the evidence before most of the team is awake.
Play from 22:36 New alerts are always noisy at first.
Play from 22:39 Run them silently for two weeks. Log every time they would have fired.
Play from 22:44 For each one, ask: would a person have needed to act? If not, widen the range or lengthen the window.
Play from 22:52 Then switch them on. An alert that cries wolf every day will be ignored on the day it matters.
Play from 23:01 An alert is only as good as what happens next.
Play from 23:05 Every alert has an owner: a named person or rota, not a shared inbox.
Play from 23:11 It links to the dashboard for that bidder and ad unit, not just a number.
Play from 23:17 And it links to the runbook: the six-step routine from Module 7. The person on call starts at step one, with the scope already filled in by the alert.
Play from 23:29 Three mistakes we see with alerts.
Play from 23:32 Too many alerts. If ten fire every day, people stop reading all of them.
Play from 23:38 One threshold for every bidder. A normal timeout rate for one partner is a problem for another.
Play from 23:45 And alerts without an owner. Everyone sees them, and everyone assumes someone else is on it.
23:54The weekly ops checklist
Play from 23:54 Chapter five. Alerts catch sudden breaks. A short weekly check catches slow drift.
Play from 24:03 Eight items, about twenty minutes, every week. The first four come from your reports.
Play from 24:10 One: partner and Ad Manager impressions for the week, per partner. Is each gap inside its usual range?
Play from 24:18 Two: timeout rate for each bidder. Anyone creeping up?
Play from 24:22 Three: render rate for each ad unit. Anyone dropping?
Play from 24:27 Four: Prebid line items with zero impressions. A bucket that never serves is often a bucket that can't match.
Play from 24:36 The second four come from the page and the files around it.
Play from 24:41 Five: load your top three templates with pbjs_debug, on desktop and mobile, and run steps two to four of the routine.
Play from 24:51 Six: check ads.txt. Every active partner is listed correctly, and removed partners are gone.
Play from 24:59 Seven: check what changed in Prebid. A new version, a new module, a new bidder.
Play from 25:06 Eight: log every site change from the week, so next month's worksheet has its evidence ready.
Play from 25:14 Item six deserves a closer look, because it can look exactly like a demand problem.
Play from 25:21 Each line in your ads.txt names an advertising system's domain, your account ID with that system, and whether the relationship is DIRECT or RESELLER. An optional fourth field identifies the system with a certification authority.
Play from 25:37 Each exchange publishes a sellers.json file, which lists the seller accounts it represents. Buyers use the two files together to check who is allowed to sell your inventory.
Play from 25:49 If a partner's line is missing or has the wrong account ID, many buyers won't bid through it. In your debug tools, that looks like a no-bid.
Play from 25:59 So when one partner's bid rate drops after a website migration, check ads.txt before you call them.
Play from 26:07 Two checklist items, on one page, in under two minutes.
Play from 26:17 First, the page. Four bidders are configured on this slot. But getNoBids shows openx answering with nothing, again. On its own, that looks like weak demand. Before you email them, check the file.
Play from 26:27 Fetch the site's ads.txt straight from the console. Here are its lines: a domain, an account ID, and DIRECT or RESELLER on each one.
Play from 26:37 Now one line of code: which of our bidders' domains are missing from the file? OpenX. The line was lost in last month's migration. Buyers who check ads.txt won't buy through it, and on the page that looks exactly like a no-bid.
Play from 26:51 This file is a sample for our demo site, so the account IDs in it are made up. On your own site, compare it with the list of partners in your contracts, not just the bidders on one page.
Play from 27:05 Once a month, add four larger jobs.
Play from 27:08 Run the reconciliation worksheet for each partner, while the evidence is fresh.
Play from 27:14 Refresh your baselines, and review which alerts fired and why.
Play from 27:20 Re-run the timeout test from Module 2, especially on mobile.
Play from 27:25 And re-run the price bucket audit from Module 7. Every value your granularity can produce should have a line item that matches it.
Play from 27:35 The cheapest monitoring tool you'll ever have is a change log. Illustrative entries.
Play from 27:42 Fourteenth of October: new sticky footer released on mobile article pages.
Play from 27:47 Twentieth of October: Prebid timeout raised from one thousand to twelve hundred milliseconds on mobile.
Play from 27:54 Twenty-seventh of October: Prebid line items rebuilt between one dollar and two fifty.
Play from 28:00 Every date here is a question someone will ask next month. With the log, the answer takes seconds.
Play from 28:09 Three mistakes we see with routine checks.
Play from 28:13 Doing the checklist only when something already looks wrong. Its value is catching drift before anyone notices.
Play from 28:21 Updating ads.txt during a migration, and forgetting the partners that were added since the last backup.
Play from 28:30 And keeping the change log in one person's head. When they're on leave, the history goes with them.
28:37The full system
Play from 28:38 Final chapter. Let's step back and look at everything you've learnt across all eight modules, as one system.
Play from 28:47 In Module 1, you saw how header bidding works: one unified auction, step by step, with real prices.
Play from 28:55 In Module 2, you opened up the Prebid.js wrapper: timeouts, lean builds, Core Web Vitals and consent.
Play from 29:04 In Module 3, you moved part of the auction to Prebid Server, and saw what hybrid auctions change.
Play from 29:11 And in Module 4, you looked at running Prebid Server in production: cache, stored requests, AMP and apps.
Play from 29:21 In Module 5, you set up Ad Manager for header bidding: key-values, price granularity and line items.
Play from 29:29 In Module 6, you worked on creatives, floors and yield, so your bids could really compete.
Play from 29:36 In Module 7, you learnt a six-step routine to debug any of it, one page view at a time.
Play from 29:43 And in this module, you learnt to reconcile the numbers, monitor the rates and keep the whole system healthy, week after week.
Play from 29:54 Here's the whole system on one line.
Play from 29:57 The page and Prebid.js run the header auction. Prebid Server can run part of it away from the page. Ad Manager makes the final decision. The creative renders. Analytics records every step. And two reports count the result, each in its own way.
Play from 30:16 When a number looks wrong, walk this line from left to right.
Play from 30:21 At each step, ask two questions. Did this happen? And who counted it?
Play from 30:27 For one page view, the Module 7 routine answers the first question.
Play from 30:32 For millions of page views, the four rates and the worksheet answer the second.
Play from 30:37 Same line, two zoom levels. That's the whole job.
Play from 30:43 Here's how October's sticky footer would have gone with everything from this course in place.
Play from 30:48 The render rate alert for the mobile footer fires on the morning of the fifteenth. That's monitoring, from this module.
Play from 30:56 The on-call owner runs the six-step routine, and finds the slot hidden on mobile while its auction still runs. That's Module 7.
Play from 31:05 The fix goes in the slot set-up and lazy-load rules you met in Module 2.
Play from 31:10 And next month, the lost renders row on the worksheet is close to zero. One problem, caught in a day, fixed at its layer, and confirmed in the numbers.
Play from 31:23 Before the recap, three myths about discrepancies and monitoring.
Play from 31:28 Myth one: any gap means someone's cheating. Two systems counting at different moments will always differ a little.
Play from 31:37 Myth two: zero discrepancy is the goal. It isn't achievable. A small, stable, explained gap is the goal.
Play from 31:47 Myth three: there's a standard percentage that's acceptable for everyone. There isn't. Your contract and your own history set your normal.
Play from 31:59 Let's recap Module 8.
Play from 32:01 Every system counts at a different moment, so a small gap is normal.
Play from 32:07 Align dates, time zone, currency and metric, then compare impressions before revenue.
Play from 32:14 Use the worksheet: one row per cause, with an amount, evidence and owner, down to a small remainder.
Play from 32:22 Slice by day, ad unit and bidder until the gap points at one thing.
Play from 32:28 Watch bid, timeout, win and render rates per bidder and ad unit, against their own baselines.
Play from 32:36 And run the weekly checklist, including ads.txt and the change log.
Play from 32:42 That's every module of the Header Bidding Masterclass, complete.
Play from 32:47 Take the Module 8 quiz, and the final assessment, to earn your RediAds Academy certificate.
Play from 32:53 Practise what you've learnt in the Academy games at blog dot rediads dot com slash academy.
Play from 33:00 And if you'd like a second pair of eyes on your own set-up, try the free monetisation health check at blog dot rediads dot com slash health-check.
Play from 33:11 You started this course watching one auction on one page. You can now run, tune and debug a header bidding set-up from end to end, and explain its numbers with confidence.
Play from 33:24 Take that six-step routine and that worksheet back to your own site this week. And if you'd like a partner to run it with you, that's what we do at RediAds. Find us at rediads dot com. Thanks for learning with us.
- Discrepancy
- The gap between two systems counting the same thing.
- Counting point
- The exact moment a system records an impression.
- Reconciliation worksheet
- A sheet that explains a gap one cause at a time, with an amount and evidence per row.
- Net vs gross
- Revenue after the partner's fee, or before it.
- IVT
- Invalid traffic: bots and other non-human activity.
- Render rate
- The share of winning Prebid ads that actually display.
- Analytics adapter
- A Prebid module that sends auction events to a reporting tool.
- Baseline
- A rate's normal range on your own site, per bidder and ad unit.