‹ all projects
Confidential client

Automating advertising-compliance proof

It started as a networking chat with a sales director. His team was screenshotting live ads by hand, hundreds a day, to prove to advertising partners that the campaigns they'd booked were live. I built the tool that captured that proof and checked it against the plan.

automationweb scrapingaudit
Automating advertising-compliance proof

How it started

This one began the way my favourite projects tend to. I was networking inside the company, got talking to the director in charge of sales for one of our national markets, and the conversation drifted to where his team’s week went. I heard something I thought I could fix quickly, so I asked to see it up close.

I shadowed one of his salespeople doing the job by hand. To prove to an advertising partner that the ads they’d paid for were live, she was opening each placement, screenshotting it, and typing out the details beside it, one at a time. Hundreds of screenshots a day, for a single country and brand. Slow, fragile, and easy to fall behind on.

What I built

A job that ran the whole loop without anyone watching it: open each booked placement, screenshot the proof, scrape the details the team had been transcribing, rule it against the media plan, and file the evidence where it could be found later. It wrote the compliance report at the end.

Technically none of this was hard, and I’ll say so plainly. From planning to deploy it went smoothly, start to finish. The initiative was the whole story: I’d gone looking for the pain and built the fix before anyone wrote a spec for it. I think my manager was a little thrown that it had happened that way.

the loop, once per booked placement

open the live placement screenshot the proof scrape the served ad check it against the media plan file the evidence, write the report

The real system drove a fleet of headless browsers against live Amazon marketplaces and a confidential media plan. The version here is a standalone rebuild on an invented brand, dressed as what the tool produced: an evidence file. It sweeps a set of booked Sponsored placements the moment it opens and rules each one. Most come back stamped As booked; the demo is built around the exceptions it catches: a competitor’s ad sitting in a booked slot, an out-of-stock listing still burning spend, a campaign left running past its flight.

Open the evidence file

A manila folder of paperclipped exhibits. Each placement is a screenshot plus the scraped metadata, ruled against the plan and stamped As booked or Breach. Every field, verdict and report is real output computed in the page. The brand, the marketplaces and the ASINs are invented.

How it ended

Someone on the audit team put it plainly: “This will save us thousands of euros monthly.” The client was delighted. Then management asked me to hand the tool over and step back. An initiative that came from outside the usual channels wasn’t something the organisation was set up to welcome, and I didn’t push it. I handed over what I’d built.

I never got a clean count of how many countries it ended up running in, so I won’t invent one. I bet it’s still being used.

Underneath it is a habit I trust more than any brief: walk the floor and ask people where their week hurts. The problems worth solving are the ones nobody thought to put in a ticket.

Client confidential, company name withheld.

next project: Untangling multi-table spreadsheets →