Skip to content

Glossary

Every term, two perspectives. The left column is how a media buyer thinks about it. The right column is how a DevOps engineer finds it in the system.

Term Media buyer definition DevOps / system definition
Seat A buyer account on Google Authorized Buyers. You scope your analysis and targeting per seat. buyer_account_id in Postgres. Stored in seats table. Synced via GET /seats.
QPS Queries Per Second: the maximum rate of bid requests you ask Google to send. Google throttles the actual volume based on your account tier. Configured cap per pretargeting config. Actual inbound rate monitored via RTB funnel metrics in rtb_daily.
Waste QPS consumed by bid requests your bidder rejects (wrong geos, wrong sizes, no matching creative). Money spent on nothing. (total_qps - bids_placed) / total_qps. Computed from rtb_daily aggregates. Visible in funnel API.
Pretargeting config The rules that control which bid requests reach your bidder. You get 10 per seat. Controls geos, sizes, formats, platforms, publishers. Mutable entity synced from Google AB API. Stored in pretargeting_configs. Managed via /settings/pretargeting. Snapshots enable rollback.
Funnel The progression from bid request to spend: QPS -> Bids -> Wins -> Impressions -> Clicks -> Spend. Each step has drop-off. Computed from rtb_daily metrics. Served by GET /analytics/rtb-funnel. Frontend caches for 30 minutes.
Creative An ad asset: image, video, HTML, or native. Has a format, size, destination URL, and performance history. Row in creatives table. Thumbnails in blob storage. Synced from Google AB API. Performance from rtb_daily joins.
Campaign A logical grouping of creatives. Used to organize analysis and reporting. Row in ai_campaigns table. Many-to-many with creatives. Supports AI auto-clustering.
Config card The UI panel showing a pretargeting config's state, max QPS, geos, sizes, formats, and platforms. PretargetingConfigCard React component. Data from GET /settings/pretargeting-configs.
Data freshness A grid showing which dates have imported data ("imported") vs. gaps ("missing") for each report type. GET /uploads/data-freshness. Uses generate_series + EXISTS queries against rtb_daily, rtb_bidstream, rtb_quality, rtb_bid_filtering. 30s statement timeout.
Import Getting CSV performance data into Cat-Scan, either by manual upload or Gmail auto-import. CSV parsed, validated, deduplicated (via row_hash unique constraint), inserted into target tables. Chunked upload for files > 5MB.
Rollback Reverting a pretargeting config change to its previous state. Preview with dry-run, then confirm. Snapshot restore: reads pretargeting_snapshots, applies delta to Google AB API, records new snapshot. POST /snapshots/rollback.
Optimizer / BYOM Automated system that scores segments and proposes config changes. Uses your own external model. Score endpoint called via HTTP POST. Proposals stored in optimizer_proposals. Lifecycle: score -> propose -> approve -> apply.
Workflow preset Safe, balanced, or aggressive. Controls how bold the optimizer's proposals are. canary_profile parameter to score-and-propose API. Affects confidence thresholds and change magnitude limits.
Effective CPM What you actually pay per thousand impressions, accounting for waste and infrastructure cost. Computed in OptimizerEconomicsService. Combines spend data from rtb_daily with configured hosting cost.
Conversion A valuable user action (purchase, signup) tracked after an impression. Fed back to optimize targeting. Event ingested via pixel (GET /conversions/pixel) or webhook (POST /conversions/webhook). Stored in conversion tables. HMAC-verified for webhooks.
Win rate Wins / Bids. How competitive your bids are in the auction. auction_wins / bids_placed from rtb_daily.
CTR Clicks / Impressions. How engaging your creatives are. clicks / impressions from rtb_daily.
Runtime health gate (Not a buyer term) v1-runtime-health-strict.yml CI workflow. Runs end-to-end checks: API health, data health, conversions, optimizer, QPS SLO. Returns PASS/FAIL/BLOCKED per check.
Contract check (Not a buyer term) scripts/contracts_check.py. Validates data contracts (non-negotiable rules from import to API output). Runs post-deploy. Blocks release on failure.
Cloud SQL Proxy (Not a buyer term) Sidecar container providing authenticated access to Cloud SQL Postgres. Must be healthy before the API container starts.
X-Email header (Not a buyer term) HTTP header set by OAuth2 Proxy after Google authentication. Trusted by the API when OAUTH2_PROXY_ENABLED=true. Stripped by nginx for external requests.