- Programmatic 101
- Posts
- Why Optimizing Towards Clicks in Programmatic Is a Bad Idea
Why Optimizing Towards Clicks in Programmatic Is a Bad Idea
(and what to about it)
It might seem like everyone knows optimizing for clicks is a bad idea…
But CPC bidding still lives in many DSPs — and a lot of buyers still use it.
Why? Because clicks are easy to see, easy to report, and easy to chase.
But that doesn’t mean they’re real signals of value.
❌ Why Clicks Don’t Work in Programmatic
Clicks ≠ Engagement
On the open web, most people don’t click display ads — and if they do, it’s often by accident. The real role of programmatic is to drive attention, familiarity, and outcomes post-view.Clicks Are Easy to Fake
Bots love clicks. So do click farms and deceptive placements. Optimizing to CPC often sends your budget straight into low-quality, fraud-prone supply.Clicks Belong in Search — Not Display
Search users are typing with intent. Programmatic users are reading, watching, and scrolling. Different mindset = different KPIs.Clicks Are Lazy Logic
When you optimize for clicks, your DSP isn’t looking for value — it’s looking for volume. The cheapest clicks win, not the best users.
✅ What to Optimize Toward Instead
Start moving away from vanity clicks and toward actual quality and attention. Here’s what to use instead:
High-quality supply signals
Use tools like OpenSincera to filter for domains with low ads-to-content ratios, good identifier support, and lower refresh rates.Post-impression conversions
Optimize to real business outcomes — not just front-end interactions.Avg. Time in View
A better attention proxy than CTR. If users see your ad for longer, that impression has more value.Your own custom quality tiers
Score domains using quality data, then build bid strategies that align with attention, not bots.
🛠️ Build a Quality Filter for Your Campaigns Using OpenSincera + Google Sheets
You can build a lightweight enrichment workflow in Google Sheets using OpenSincera’s free API — no dev team needed. This lets you evaluate supply quality after campaigns by pulling in metrics like ads-to-content ratio, page weight, and identifier coverage.
Here’s how to do it, step-by-step.
🔧 What You’ll Need
A list of domains from your DSP (e.g., post-campaign report from TTD)
An OpenSincera account (free with company email)
Your API token (found under Profile after logging in)
Access to Google Sheets + Apps Script
📐 Suggested Sheet Structure
Set up two tabs in your Google Sheet:
CampaignData (or whatever name works for you):
Paste your post-campaign impression data here. Make sure there's a column with domains (e.g.,forbes.com
,buzzfeed.com
, etc.).SinceraData:
This is where you’ll store enriched data from the OpenSincera API. Each row will represent a domain and its associated quality signals.
🔄 How It Works
You’ll write a simple Apps Script that does the following:
Loops through the domains in your campaign data
For each domain, calls the OpenSincera API and retrieves:
Ads-to-Content Ratio (A2CR)
Avg Ads in View
Ad Refresh Rate (in seconds)
Avg Page Weight (MB)
Identifier Absorption Rate
Stores these results in the
SinceraData
tab (one row per domain)You can then use
VLOOKUP
to map those metrics back to your campaign data
💬 Example ChatGPT Prompt
Here’s a prompt to help generate the Apps Script if you don’t want to code it yourself:
“Help me build a Google Sheets script that connects to the OpenSincera API using my token. I want to enrich a list of domains in Sheet1 (column A) with the following metrics from OpenSincera: A2CR, Ad Refresh Rate, Avg Page Weight, Avg Ads in View, and Identifier Absorption Rate. Output the data into a second tab called SinceraData. Use caching or deduplication to avoid hitting the API multiple times for the same domain.”
🔁 After the Data is Pulled
Once your SinceraData tab is populated:
Use
VLOOKUP
in yourCampaignData
tab to match each domain with its Sincera metrics.Sort or filter based on thresholds (e.g. flag domains with A2CR > 0.4, or Page Weight > 10MB).
Build supply quality tiers, identify waste, and support blocklist recommendations with objective data.
TL;DR
Clicks are misleading, gameable, and often toxic.
Quality signals like A2CR, ad refresh rate, and page weight are better attention proxies.
With OpenSincera + Google Sheets, you can operationalize that today — no devs needed.
💬 Want to sanity-check your own setup?
If this made you rethink your current bidding logic or you’re not sure whether your campaigns are optimizing for real outcomes (or just noise), let’s talk.
I offer consultations for programmatic marketers and ad buyers who want to get more signal, less fluff.
Just fill out this quick form - I’ll personally reach out.
🎁 Bonus: Get my guide "Do You Really Need Programmatic?" for free
Normally paid, but free to subscribers → Access it here
👋 Let’s connect
LinkedIn: @chubakovnt
All links & resources: vchubakov.carrd.co