Research note 02 · checked 04 Oct 2026
the tools already out there
Research note 02. Checked: 2026-10-04. Status: a survey of what exists to hook into, not a plan and not a purchase. Companion to the handoff (on the site, the front page), which holds the philosophy and the first milestone.
The question this note answers: for the first milestone (buy a bounded set of ads that send real people to Cribbage, learn what they do), and for the phase-two service after it, which existing platforms and services can we connect to, what do they cost, what do they require of a person with no company and no ad account, and how much of each can an agent drive unattended? The thesis is to connect what already works, not to build new platforms.
How the claims are labelled. Sourced means the vendor's own page said it on 2026-10-04, and the link sits beside the claim. Directional means a third-party benchmark with a sample that is not ours. Unverified means the only source was secondary or the page would not load; it is written down so no one guesses later. Every link is collected at the end.
The short version
- Three channels are open to an individual today with photo ID and a card: Google Ads, Microsoft Advertising and Meta Ads. All three verify the person by name and print that name on the ads. All three can target 65+ and women directly. Reddit is open at $5/day but targets communities, not demographics. ChatGPT Ads is self-serve at $25/day but asks for a business registration. Perplexity has nothing to buy.
- Microsoft is the best demographic fit per dollar. Bing's audience is older (average age 45 vs 38), the Audience Network runs on MSN, Outlook and Microsoft Casual Games, and Copilot placements come bundled with ordinary campaigns at no extra step. Google's AI Overviews work the same way.
- Cheapest sourced clicks for an entertainment audience sit around $0.34: Meta traffic campaigns in Arts & Entertainment (median), Microsoft Audience Network, native networks. Google Search in the same category is about $1.63 a click.
- Measurement needs no vendor tag. Every channel puts a click id in the landing URL (gclid, msclkid, fbclid, rdt_cid, ttclid). Cribbage's page can copy it into local storage beside the anonymous id it already has, and the collector can write it on the game-start row. That is enough to count arrivals, starts, finishes and returns per channel from our own log.
- Conversions can be reported back server-side, from the collector, without a pixel on the page: Google by CSV upload or the Data Manager API, Microsoft by a scheduled CSV fetch, Meta and Reddit by their Conversions APIs. Match quality without an email is middling; it matters only if we want the channel's optimiser to learn.
- Meta is the only platform with an official read-write MCP server and CLI (open beta since April 2026, everything an agent creates lands paused). Google's official MCP is read-only; Microsoft's is a read-only pilot. Google Ads writes need our own code or a hosted layer such as Composio or Pipedream. Reddit has no official server and its API access is relationship-gated.
- What stays human on every platform: opening the account, two-factor, identity verification, the payment method, the first policy review and any appeal. Budget two to five business days before the first ad can run.
- Game portals do not send traffic to our domain. Poki, CrazyGames, GameDistribution and Coolmath host their own copy and strip outbound links. Arkadium is the only 55+ route and takes 75% share to the developer. They are a separate hosting decision, not an acquisition channel.
- AdSense is the only self-serve demand with real CPMs for a one-page site. Publisher keeps 80% after the buy-side fee, $100 threshold, paid monthly, approval in days to four weeks. H5 Games Ads adds a between-hands interstitial by application. Google requires a certified consent platform for EEA/UK visitors.
- The managed partners that would take Cribbage at small scale are Journey by Mediavine (1,000 Tier-1 sessions a month), Newor Media Elevate (no minimum) and Ezoic's Incubator lottery. Raptive opens at 25,000 pageviews a month. Playwire, Freestar and Snigel are far out of reach.
- The phase-two reseller role has a name in the standards already:
MANAGERDOMAINin ads.txt 1.1 andINTERMEDIARYin an SSP's sellers.json. Becoming a Google MCM parent is closed to a small operator. Sovrn, Sharethrough and Media.net are the SSPs that take unproven sellers. A hosted Revive ad server costs $10 a month; Kevel and Equativ are enterprise. - Agentic ad standards are real software on the sell side and announced on the buy side. AdCP 3.2 is GA with a live
/.well-known/adagents.jsonand the Prebid Sales Agent (alpha, adapters for GAM, Kevel, Broadstreet). Apostra lists a site for free. But no buyer discovers an unknown one-person site over AdCP yet, and IAB's AAMP 3.0 is still in public comment. Publish the file, run the agent, expect no money from it this year. - Payout rails for phase two exist off the shelf: Stripe Connect Express at $2 per active account a month handles US, UK, EEA and Canadian payees and files 1099s; PayPal Payouts covers the rest. The 2026 1099-NEC threshold is $2,000. Collecting W-9/W-8 forms and signing SSP contracts stay human.
- The incumbent is not a bare AdSense site. cribbage-online.net's ads.txt lists 20 direct seats across 15 exchanges plus two Google publisher ids: a Google Ad Manager and header-bidding stack. Their revenue shape is therefore not reproducible with AdSense alone, which changes what "similar revenue margin" means.
1. Where the first visitors can be bought
Scope: a few hundred dollars, an individual with no entity, an audience that skews 65+ and female in the US, UK, Canada and Australia.
At a glance
| Channel | Open to an individual | Minimum | Targets 65+ / women | Sourced cost | Verification | Fit |
|---|---|---|---|---|---|---|
| Google Ads | Yes, "Individuals" track with photo ID | None official; $1/day accepted (directional) | Yes on Search, Display, Demand Gen; not on Performance Max | Search A&E CPC $1.63, all-industry $5.42; Display CPM ~$1.80–2.80 (directional) | Up to 5 business days, rarely 30 | Good; suspension risk for new accounts |
| Microsoft Advertising | Yes, "Verify as an individual" | None stated; $50 billing threshold | Age and gender as bid adjustments | Search CPC ~$1.37, Audience Network ~$0.34 (directional) | 3–5 business days | Best demographic fit |
| Meta Ads | Yes, needs a Page and a card | Varies; daily budget ≥5× cost-per-result goal | Yes, "65+" bucket; original audiences keep it hard | Traffic CPC median $0.60 overall, $0.34 A&E (WordStream, 1,377 US campaigns) | Business verification only for some features | Good; cheapest sourced click |
| Reddit Ads | Likely; sign-up login-walled (unverified) | $5/day; floor bids $3.50 CPM, $0.10 CPC | By community and interest ("board & card games"), not age | CPC median $1.25, CPM $6.50 (directional) | One-day human review | Cheap test; r/cribbage ad eligibility unverified |
| ChatGPT Ads (OpenAI) | Business accounts; Persona checks a registration (individuals unverified) | $25/day per campaign | No: country plus "context hints" only | No rate card; CPMs reported falling from ~$60 to ~$25 (directional) | Several business days | Buyable but cannot aim at our audience |
| Perplexity | Nothing to buy; ads dropped Feb 2026 | — | — | — | — | None |
| Free business account | None official | 70% female but 65+ women are 3.7% of the ad audience | CPC $0.10–1.50 (directional) | None found | Thin | |
| TikTok | Yes | $50/day campaign, $20/day ad group | 12% of US 65+ use it | — | — | Poor |
| X | Yes | "Any budget" | 10% of 65+, skews male | — | Unverified | Weakest |
Channel notes
Google Ads. New accounts start in Smart mode; the switch to Expert mode is one-way, and Smart campaigns should stay off. Verification publishes the verified name in the Ads Transparency Center. Billing is postpay against a threshold that starts near $50. Text and Shopping ads from existing Search, Shopping and Performance Max campaigns are eligible for AI Overviews and AI Mode automatically in the US, Canada and Australia, with no opt-out and no separate buy. The destination policy that could bite a thin game page is "insufficient original content"; an original game with a how-to-play page fits, and the page must be crawlable by AdsBot with no redirect to another domain. Most ads review within one business day. The operational risk is suspension: StubGroup's cohort of 1,000+ suspensions was 37% "circumventing systems" and 28% "unacceptable business practices", and new accounts with no footprint look like bad actors. One account, one card, Expert mode.
Microsoft Advertising. Individual verification takes screenshots of a government ID plus a current photo, 30 days to comply, 3–5 business days to review. Prepay or postpay with a per-charge cap. All eligible campaign and ad types serve in Copilot automatically and advertisers cannot opt out; there is no Copilot-specific reporting. The Audience Network includes MSN, Outlook and Microsoft Casual Games, with age, gender and LinkedIn targeting. A Google Ads import tool with scheduled syncs exists, so a Google campaign can be mirrored rather than rebuilt. Review within 48 hours.
Meta Ads. Every Facebook account has an ad account; a Page and a payment method are needed, one ad account until a payment confirms. Meta's 2026 target is 90% of ad revenue from verified advertisers, with a 10% "low-risk" remainder; blanket ID for individuals is unverified. With Advantage+ audiences the age maximum becomes a suggestion, so a 65+ campaign should use original audiences. Free games with no money prizes need no gambling authorisation. Low-quality landing pages raise cost and can taint the Page, the domain and the account. Review within 24 hours and includes the destination.
Reddit Ads. Community targeting reaches subscribers and 28-day visitors of a community, not only placements inside it, so a "r/cribbage" audience leaks. Reddit recommends 15+ communities per ad group and says not all communities are approved to serve ads. The destination must be fully functional, free from intrusive advertising, with clear links to Terms, Privacy and Contact. r/cribbage has 20,000+ members; its self-promotion rules were unreachable from this machine and must be read in the sidebar before any organic post.
ChatGPT Ads. Timeline: ads in the US free and Go tiers from February 2026 as a managed pilot with a six-figure minimum; an Ads Manager beta in April; self-serve open to US businesses from 5 May with CPC bidding and no minimum spend; UK, Canada, Australia and Europe through July to September. Today: self-serve, $25/day per campaign, one format (name, favicon, 256×256 image, 30-character headline, 60-character body, link out), shown only to Free and Go users and never to under-18s. Targeting is country plus plain-language context hints, with no age, gender or keyword match types. An Ads API with an OpenAPI spec and a Conversions API exist. Persona verification checks business name, registration number and a matching card; whether an unregistered individual passes is unverified. Policy v1.6 lists "digital products" and "travel and entertainment" as early categories; a free card game is plausible but not named.
Game portals, which are distribution and not advertising
Every ad-funded portal hosts its own copy and forbids or restricts links out; none sends players to our domain.
| Portal | Entry | Hosting | Links out | Share | Audience |
|---|---|---|---|---|---|
| Poki | Hand-picked; Player Fit Test of 500 players, pass at >3 min average | On Poki, external requests blocked | Removed | 50/50 on Poki-sourced play; 5-year web exclusivity by default | 54% female, 25–34 largest |
| CrazyGames | Developer portal, SDK for full launch | Accepts an iframe from our domain | Allowed only if not to a playable copy | Not published; €100 floor, Net 60 | 52% male, 18–24 |
| itch.io | Open zip upload, no approval | On itch.io | Project page may link to our site | Developer sets it, default 10% | 73% male, 18–24 |
| Newgrounds | Open upload | On Newgrounds | — | Ad-free, no revenue | 76% male |
| Kongregate | Closed to new games since July 2020 | — | — | — | — |
| GameDistribution (Azerion) | SDK mandatory | On partner sites | None | 33% of net to developer, €100 threshold | — |
| Coolmath Games | Licenses a copy | On Coolmath | None, no stats counter | — | — |
| Arkadium | Submit a playable link, integrate SDK | Their 300+ partners incl. AARP | Unverified, likely none | 75% to developer | 61% female, 65+ largest |
Paid discovery that is not an ad network
Native (Taboola's Realize, Outbrain) is self-serve by card but wants $50–150 a day and a landing page with real contact details and a privacy link; its readers are older news-site audiences with no published age split. Newsletter marketplaces: Paved has no minimum for flat-fee buys, beehiiv's network starts at $15,000, and no marketplace newsletter serves this audience. The American Cribbage Congress's Cribbage World sells a full page for $100 and a classified for $15 on a 2008 rate card. AARP sells only through reps.
What this means for the first campaign
- Before any spend, Cribbage needs Terms, Privacy and Contact pages with real contact details on the public site; Reddit and the native networks require them and Google and Meta reward them. The drafts exist in the cribbage repo and wait on Rob's approvals.
- A sensible split for a few hundred dollars: Microsoft Search plus Audience Network, Meta traffic with original audiences 65+, a $5/day Reddit test, and possibly one $100 page in Cribbage World as the control that no platform can measure.
- ChatGPT Ads is worth one try only if a registration is in hand, and only as a curiosity: it cannot aim at the audience.
2. Knowing what happened after the click
Scope: Cribbage already has an anonymous id in local storage, one log row per game started and finished, a Lambda collector writing to S3, and an opt-in rrweb recording. Decision 003 currently forbids a vendor script and a cookie banner; Rob has said that can change if the research justifies it.
The click ids every channel appends
| Channel | Parameter | How long the channel will match a conversion | Notes |
|---|---|---|---|
| Google Ads | gclid, or gbraid / wbraid on iOS ATT traffic |
90 days from click; wait ~6 h after the click | Auto-tagging; exactly one id per uploaded conversion |
| Microsoft | msclkid (32-char GUID) |
90 days; wait 1 h | Auto-tagging switches on with the first offline-conversion goal; Microsoft's own sample stores it in a 90-day cookie |
| Meta | fbclid |
90-day fbc recommended |
Build fbc as fb.1.<ms timestamp>.<fbclid>; default attribution window unverified |
rdt_cid |
Events must arrive within 7 days | "Stored 30 days" is secondary only | |
| TikTok | ttclid |
7 or 30 days, sources conflict | Store it at once either way |
| Any | utm_* |
— | A convention every analytics tool reads; the channels never need it back |
Nothing persists on the channel side. All five ids live only in the landing URL; the page must copy them into storage beside the anonymous id, and the collector must write them on the game-start row.
Reporting conversions back without a tag on the page
| Channel | Route | Needs | Approval | A Lambda can do it |
|---|---|---|---|---|
| Google Ads | CSV or Sheet upload in the UI; or the Data Manager API (Google's recommendation for new integrations, no developer token, OAuth on a Cloud project, consent fields on each event) | A conversion action of type "upload clicks", the click id, a timestamp with timezone | None for the UI route; Explorer-tier API access is often automatic | Yes, API; or write a CSV for Rob to upload |
Google Ads API UploadClickConversions |
Legacy | — | Blocked from 15 June 2026 for credentials with no upload history | Not for us |
| Microsoft | UI file upload, or scheduled HTTPS/SFTP/Google-Sheet fetch of a CSV, or the API; UET tag not required | msclkid, conversion time, goal name |
None | Yes: write the CSV to S3, let Microsoft fetch it daily |
| Meta Conversions API | Server events against a dataset id; the pixel script need not run | Access token from Events Manager, client_user_agent, at least one user key (fbc, hashed email, external id), send IP too |
"No App Review" for your own account | Yes; match quality with only fbc + IP + UA is low-to-middling |
| Reddit Conversions API | Server events | Token from Events Manager (business admin, does not expire), click_id or email or IP+UA |
None reported | Yes, within 7 days |
| TikTok Events API | Server events | Token from Events Manager, IP, UA, ttclid |
None | Yes |
Enhanced conversions for leads (Google) need a hashed email; the game collects none, so it does not apply.
Server-side tagging as a middle ground
Server-side Google Tag Manager still loads gtag.js on the page; its gain is serving the script and setting cookies from our own domain. It meets a "first-party vendor script" goal, not a "no vendor script" goal. Stape hosts it free for 10,000 requests a month, $17–20 for 500,000, custom domain only on the $83–100 tier; Cloud Run self-hosting runs $10–25 a month at small volume. For one campaign on a static page it adds a Google container, a script and a second collector, when the existing Lambda already is the server side.
Cookie-less analytics as a service
| Tool | Small-scale price | Weekly retention report | UTM | Read API | Self-host on a $20 box |
|---|---|---|---|---|---|
| Plausible | Cloud $9/mo for 10k pageviews; API only on $19/mo Business; Community Edition free | No: daily-rotating visitor hash, a returner tomorrow is "new" | Yes | Business+ | Yes, needs ≥2 GB RAM |
| Umami | Cloud Hobby free (100k events, 3 sites, 6 months); Pro $20/mo; MIT self-host | Yes, retention and cohort chart | Yes | Yes | Yes (Postgres) |
| PostHog | Free 1M events and 5k replays a month | Yes, but not across days in cookieless mode | Yes | Yes | No (ClickHouse, Kafka) |
| Matomo | On-premise free; cloud €29/mo; Cohorts is a paid plugin ($99/yr) | With the plugin | Yes | Yes | Yes (PHP + MySQL) |
| Fathom | $15/mo, no free tier | No | Yes | Yes | n/a |
| GoatCounter | Free for personal and small business; single Go binary | No | Campaigns | Unverified | Yes |
| Simple Analytics | Free: unlimited pageviews, 30-day history, 5 sites | No | Yes | Paid | n/a |
| Counterscale | Cloudflare Workers, free tier ~100k hits/day, MIT | No | Source/medium | No | Runs on Cloudflare free |
Only Umami, PostHog, Matomo with the plugin, and GA4 give weekly cohort retention. Our own returning.mjs already does, from the game log, with no vendor.
GA4 and when a banner is legally required
GA4's Measurement Protocol needs a client id and session id lifted from a real gtag visit; server-only GA4 from the Lambda is weak. Consent Mode v2 is a gtag feature: no Google tag, nothing to implement. A Google-certified consent platform is required by AdSense and Ad Manager for personalised ads in the EEA, UK and Switzerland, which matters only once the game runs AdSense.
For our own first-party storage: since 5 February 2026 UK law exempts storage whose sole purpose is statistics about the service to improve it, provided the person is told and offered a simple free opt-out; the ICO's live guidance page still lags this. France's CNIL exempts audience measurement only if single-site, with no cross-matching, truncated IPs and a 13-month cap. Writing click ids to storage for ad attribution is not a statistics purpose and sits outside both exemptions. In the US, CCPA's thresholds ($25M revenue, 100k consumers) put a solo free game below every banner requirement; ad pixels would still be "sharing" above them.
Link shorteners and redirect hops
Google's destination policy prohibits a final URL that redirects to a different domain; tracking templates with parallel tracking are the sanctioned way. A shortener as the final URL risks disapproval. Bitly's free plan is 5 links a month with no click analytics; Short.io's free plan allows 1,000 links and 50,000 clicks with an API; Dub's first visible tier is $90 a month. Fine for organic posts, not for ad final URLs.
Valid arrival, invalid traffic, returning
Google does not bill invalid clicks and shows an "Invalid clicks" column; clicks exceed arrivals because of repeat clicks, people leaving before the page loads, and invalid clicks that analytics still records. Cribbage reports a game start only after the JavaScript and the engine load, which is a stronger "arrival" than a pageview. Click-fraud services (ClickCease from $99/mo, Fraud Blocker from $79/mo) cost more than a small campaign. "Returning in a later ISO week" needs only the existing id and first-seen week, which scripts/returning.mjs already computes.
The minimal measurement stack for one bounded campaign
- Keep the game log as the source of truth; no vendor script, no banner.
- Page: on load, copy
gclid,gbraid,wbraid,msclkid,fbclid,rdt_cid,ttclidandutm_*into local storage beside the anonymous id, and give the privacy page an opt-out link (the UK exemption wants one anyway). - Collector: accept those fields plus the user agent on the game-start row. This amends decision 003's field list and needs its own decision record; today the collector rejects any field it does not know.
- "Valid arrival" = a start row with a non-bot user agent. Weekly job on the desktop, per channel: clicks bought (from the ad console) → arrivals → starts → finishes → returned in a later week.
- Google: CSV upload of "finished game" conversions by click id within 90 days; the Data Manager API only if a second campaign follows.
- Microsoft: a CSV the Lambda writes to S3, fetched by Microsoft daily; no UET tag.
- Meta and Reddit: server events from the Lambda with click id, IP and user agent, accepting low match quality; skip if the campaign is Google and Microsoft only.
- Distinct landing paths per channel (
/?c=reddit) as a UTM-independent cross-check. - No shortener in ad final URLs.
- After the campaign, check whether any channel's optimiser moved; if not, drop steps 5–7 next time.
The alternative: Umami Cloud's free Hobby tier, loaded only behind an opt-in in the EEA, is the cheapest path to dashboards and weekly cohorts without self-hosting, at the cost of a vendor script and a reversal of decision 003.
3. What an agent can run unattended
Scope: Claude Code or similar creating and pausing campaigns, adjusting budgets and bids, pulling reports and uploading conversions, through official APIs, MCP servers and CLIs.
At a glance
| Platform | Official API | Official MCP | Community MCP | JS SDK | Human-only | Readiness (1–5) |
|---|---|---|---|---|---|---|
| Google Ads | Yes; GAQL reporting; access tiers on the Cloud project since Sept 2026 | Yes, read-only (3 tools) | cohnen (stale), GoMarble (R/W), Limetric (Go CLI + MCP, R/W), hosted via Composio and Pipedream | Opteo's google-ads-api (unofficial, mutations and conversion upload) |
Verification, billing, brand check for Basic | 4: writes need our code or a hosted layer |
| Meta | Yes; the dev tier suffices for your own account | Yes, read-write hosted MCP + CLI, open beta since 29 Apr 2026 | Pipeboard (1.3k stars), hashcott | Official Node SDK incl. Conversions API | Business portfolio, payment, 2FA | 5: the only official write MCP and CLI |
| Yes, v3; gating unclear | No | filippofinke (R/W, 114 tools, tiny) | None | Allow-list, billing | 2: access is relationship-gated | |
| Microsoft | Yes, SOAP and REST; a real sandbox | Read-only pilot, write planned | shinypebble, Limetric | None official (Python, .NET, Java, PHP) | Token request, billing | 3: easy sandbox, no Node SDK |
| OpenAI | Yes, REST with an OpenAPI spec (70 paths) and a Conversions API | No | None | None | EIN, Persona, billing | 2: good API, entry closed to individuals |
| TikTok | Yes, v1.3, JS SDK | Announced, partner-routed | AdsMCP (read) | Official | App review | 3 |
| Yes, v5 tiers | Alpha, agencies only | Few | None official | Trial → Standard review | 2 | |
| AdCP / AAMP | Protocols, not platforms | MCP-native by design | Prebid Sales Agent (sell side) | adcp-client (TS) |
Seller onboarding, billing | 1 for a small buyer |
Platform notes
Google Ads. Developer tokens were sunset on 9 September 2026; access now attaches to the Google Cloud project behind the OAuth credential. Tiers: Test (test accounts), Explorer (2,880 operations a day on production, usually granted automatically, but no account creation, user management or billing), Basic (15,000 a day, brand verification, automated review, nominally 2 business days but backlogged in February 2026), Standard (manual audit, ~10 business days). Own-account automation at Explorer or Basic needs no permissible-use review. The official MCP (googleads/google-ads-mcp, Python, Apache-2.0, ~1k stars) exposes search, get_resource_metadata and list_accessible_customers. No official CLI and no official Node SDK; Opteo's TypeScript library is the de-facto one. Composio's googleads toolkit has nine tools including campaign and ad-group mutations on a free Hobby plan; Pipedream has 38 actions including create-or-update campaign, budgets, responsive search ads and click-conversion upload, free in development and from $99 a month in production.
Meta. No App Review to manage your own ad account; standard ads_management is enough. The "Meta ads AI connectors" open beta provides a hosted MCP at mcp.facebook.com/ads with seven tool groups (reporting, ad creation and management, catalogs, signals, tests, activity logs, help), Meta Business OAuth with no developer app, three scope tiers, and every AI-created object paused by default; the CLI is pip install meta-ads-cli, aimed at Claude Code and Codex. The official Node SDK includes a Conversions API client. Rate limits at the development tier are workable for one person's campaign.
Reddit. API v3 with OAuth scopes for reading, editing and conversions; the developer app is created by a business admin in Ads Manager. One August 2026 guide says allow-list approval by email is the real gate; a September guide describes self-serve (reporting), partner (full management, minimum spend) and enterprise tiers. Exact self-serve write access is unverified. No official MCP.
Microsoft. Bing Ads API v13; developer token requested by a Super Admin, approval time undocumented; a universal sandbox token with free test accounts generates test data the same day. Official MCP announced June 2026 as read-only with write planned.
OpenAI. The Ads API (api.ads.openai.com/v1, bearer token) covers campaigns, ad groups, ads, insights, reports and product feeds, with a separate Conversions API host; keys are issued in Ads Manager after verification and billing. No MCP, no SDK.
Cross-platform layers
- Google Analytics MCP (official, read-only, experimental) for reading GA4 if one ever existed.
- Windsor.ai hosts an MCP with writes on Meta, Google Ads, TikTok, LinkedIn and Microsoft; pricing not on the page. Supermetrics has a hosted MCP but API and MCP access sit on its Enterprise tier. Improvado and Funnel are read-only from $100 and $300 a month (unverified).
- Zapier can set a Google Ads campaign status and send an offline conversion but cannot create campaigns; its Meta apps cover Conversions and Lead Ads only. n8n's Google Ads node only reads campaigns.
- Open-source agent toolkits: Pipeboard's Meta server is the only one with real adoption;
adkit/ads-mcp(hosted, draft-first, seven platforms) andLimetric/ads(Go binary, Google and Microsoft) are tiny. A 2026 review found 82% of ad MCPs single-platform.
What stays human, with elapsed time
| Platform | Human-only steps | Time from the docs |
|---|---|---|
| Google Ads | Google account and 2FA, Ads account, payments profile and card, advertiser verification, Cloud-project brand verification for Basic, appeals | Card in minutes; verification up to 5 business days; Standard review ~10 |
| Meta | Facebook account, Business portfolio, ad account, payment method, 2FA, OAuth consent for the MCP | Same day for self-managed |
| Ads account with billing, developer app, allow-list request | Informal; "advertiser status, spend or partnership" | |
| Microsoft | Ads account, payment, Super Admin token request, Azure app registration | Sandbox immediate; production undocumented |
| OpenAI | Business entity with EIN, Persona verification, billing, ad approvals | Verification several business days; ad approval ~24 h |
| TikTok / Pinterest | Business account, app registration, production review | Days to weeks |
The blocking fact: with no business entity, OpenAI is closed, and Google advertiser verification and Reddit allow-listing get harder. Meta and Microsoft are the two platforms a sole individual can open and automate end to end today.
4. Where the money would come from later
Scope: at most two restrained display ads inside Cribbage in phase one; a service that connects other small publishers to existing demand in phase two. The calibration point is the incumbent's own ads.txt: 20 direct seats across 15 exchanges (Amazon APS, Index, Magnite, PubMatic, OpenX, TripleLift, Media.net, GumGum, Kargo, Xandr, Yahoo, Nexxen, Criteo, Undertone, The Trade Desk's OpenPath) plus two Google publisher ids and an OWNERDOMAIN of teamunwind.com.
Google AdSense
- Eligibility: 18+, access to the site's HTML, original content, no stated traffic minimum. Approval "usually a few days, but up to 2–4 weeks". Threshold $100, paid monthly between the 21st and 26th.
- Share: the publisher keeps 80% after the buy-side fee, about 68% when Google Ads is the buyer; paid per impression since 2024.
- Formats that fit a game page: display units, anchors (mobile, and dynamic anchors on desktop since May 2026), vignettes between navigations (skippable, one per ten minutes by default), side rails on desktop. Placement rule: at least 150 px between an ad and the game's edge, no arrows pointing at ads.
- H5 Games Ads (the Ad Placement API, formerly AdSense for Games): interstitial, preroll and rewarded formats through one script object, by application, needs an approved AdSense account, approval not guaranteed, no traffic minimum. Its difference from standard AdSense is permission for full-screen formats, which is what a between-hands break would use.
- Paid traffic is allowed if compliant; paid-to-click, autosurf and bots are banned and the publisher is responsible. New accounts commonly get "ad serving limits" for under 30 days; invalid-traffic deductions net against future earnings.
- A Google-certified consent platform is required for personalised ads in the EEA and UK since January 2024 and Switzerland since July 2024; Google's own CMP is bundled in AdSense.
- AdSense for Platforms is an enterprise product for site builders running sub-accounts; its Direct model "is in closed beta and does not accept new partners". Not a route.
Google Ad Manager and MCM
Google positions AdSense for small teams and Ad Manager for significant direct sales, with sign-up gated near a million pageviews. Multiple Customer Management lets a parent manage a child's account or traffic its inventory, but the parent must be an Ad Manager 360 platform partner with an Ad Exchange account, verifies site ownership, and is liable for every child's policy violations; there is no self-serve path to becoming a parent. Open Bidding needs a mapped Ad Exchange account. Verdict: a small operator cannot become an MCM parent in 2026.
Managed monetisation partners
| Partner | Published minimum | Geography | Payment | Fit for a one-page game |
|---|---|---|---|---|
| Journey by Mediavine | 1,000 Tier-1 sessions in 30 days | US, CA, UK, AU | Unverified | Open at small scale |
| Mediavine | $5,000 a year in ad revenue | Tier-1 implied | Unverified | Later |
| Raptive | 25,000 pageviews a month (cut from 100k, Oct 2025) | Majority US/CA/UK/AU/NZ | Unverified | Needs full ad density for its RPM guarantee |
| Ezoic | 250,000 users a month since Feb 2026; otherwise the Incubator lottery (20 sites a month) | None | Net 30, $20 | Lottery only |
| Monumetric Propel | 10k–80k pageviews, $99 fee, WordPress or Blogger only | ≥50% Tier-1 | Unverified | A static site fails |
| Newor Media | Display at 10k pageviews; Elevate has no minimum | ≥50% Tier-1, English | Net 30 | Open at small scale, exclusive programmatic |
| SHE Media | 50k pageviews | ≥30% US | ~35 days after month | Exclusive display |
| Playwire | 500k pageviews | US/UK/CA | Net 60 | Out of reach; casual gaming is a focus |
| Freestar | ~1M pageviews, six months of history | ≥50% Tier-1 and organic | Unverified | Out of reach |
| Snigel / Publisher Collective | 3M pageviews or ~€300 a day | None | Unverified | Out of reach |
| Venatus / AdinPlay | Not published (~1.5M pageviews hearsay) | Unverified | Unverified | Out of reach; games are their core |
| Google H5 Games Ads | None; approved AdSense | AdSense's | AdSense's | Open by application |
Pageview minimums undercount a one-page game with 10–20-minute sessions; session-based and in-game programs fit better. Most revenue shares are unpublished.
Header bidding, SSPs, and what a demand relationship is
Prebid.js (11.39, October 2026) and Prebid Server (4.9) are Apache-2.0, but Prebid needs an ad server with line items and AdSense is not one; Prebid.org runs no public server, and 21 managed-service firms host it for publishers. Amazon's Unified Ad Marketplace is invitation-only for Ad Manager publishers at a 10% fee; its Transparent Ad Marketplace needs your own SSP contracts. Among SSPs, Sovrn, Sharethrough and Media.net have no stated minimum; OpenX and Magnite sit near 5–10 million pageviews; Index, PubMatic and TripleLift are sales-led. Adsterra, Monetag and HilltopAds take anyone but push pop-unders, which breach AdSense policy.
A demand relationship means: a signed publisher agreement, a seller id, an ads.txt line marked DIRECT or RESELLER, the SSP listing us in its sellers.json as PUBLISHER, INTERMEDIARY or BOTH, and a supply-chain node for every reseller.
Ad servers as a service
Kevel is enterprise (price on request; Relay onboards demand you already contracted). Broadstreet is $299–399 a month, AdButler from $179, AdGlare $99, AdSpeed from $9.95. Revive Adserver is GPL and hosted from $10 a month. Google Ad Manager's free tier is the alternative if sign-up succeeds.
Standards and plumbing a tiny publisher or operator must have
- ads.txt 1.1: four fields per line, plus
OWNERDOMAIN(the site owner's business domain) andMANAGERDOMAIN(the exclusive or primary monetisation manager, per country).MANAGERDOMAINis exactly the phase-two operator's role. sellers.json is published by SSPs, not by sites. - Consent: IAB TCF v2.2 has been mandatory since November 2023, v2.3 since February 2026; Cookiebot and Usercentrics run free to about €50 a month. California requires honouring Global Privacy Control; Google honours it only if the publisher enables Restricted Data Processing.
- Better Ads Standards: pop-ups, autoplay sound, countdown prestitials, sticky ads over 30% of the screen, mobile density over 30% and desktop over 50% fail; Chrome filters sites that fail for 30 days. Anchors and vignettes are compliant by design.
- Viewability (MRC): 50% of pixels for one second on display, two seconds on video.
- Invalid traffic: general IVT is data centres and listed bots; sophisticated IVT is hijacked devices, incentivised traffic and misrepresentation. AdSense clawback triggers are own clicks, encouraged clicks, bots and bought traffic.
- OpenRTB 2.6 is current; a page never touches it.
Agentic advertising: announced versus live
| Thing | What it is | Status on 2026-10-04 |
|---|---|---|
| IAB Tech Lab AAMP | Agentic Advertising Management Protocols over OpenRTB, OpenDirect and VAST; buyer and seller reference agents | 1.0 final Jan–Feb 2026; 2.3 "production-ready" July; 3.0 with OpenProposal in public comment to 22 Oct 2026; reference repo has no releases |
| IAB ARTF | Agents in the bidstream | v1.0 finalised 2026, v2.0 underway; spec only |
| IAB Ad Management API v1.1 | Creative submission and approval between buyers and SSPs (2023) | Pre-agentic; not campaign management |
| AdCP (Ad Context Protocol) | Media Buy, Creative, Signals, Governance, Accounts, Brand and Registry protocols over MCP and A2A; governed by AgenticAdvertising.org, 150+ members | 3.2.1 GA 30 Sept 2026; buyer SDK adcp-client (TypeScript); first agent-to-agent buy Oct 2025, premium CTV campaigns since |
/.well-known/adagents.json |
Declares which sales agents may sell a property; builder and validator | Live |
| Prebid Sales Agent | Sell-side reference server, Python, Apache-2.0, adapters for GAM, Kevel, Broadstreet, Triton, and a no-spend mock | v2.0.0 July 2026, alpha |
| Apostra (ex-Scope3) | Free "Listing" plan at "0% of media" to list your own sales agent; Storefront Agent $5 per unit; buy-side pricing "coming soon" | Live, pages partly placeholder |
| Google "Ask Advisor", "Ask Ad Manager" | One agent across Ads and Analytics; Ad Manager REST trafficking API and MCP "later this year" | Announced; the SOAP API and AdSense Management API v2 (reports, ad units) are live |
| Meta Advantage+ and Muse for Small Business | Drafts campaigns, "nothing spends without your approval" | Live Sept 2026, US and Canada; buy side only |
| OpenAI | Ads in ChatGPT free tiers; self-serve | Live; nothing for publishers |
The sentence that matters: a tiny buyer cannot practically buy a campaign over AdCP today, and no buyer discovers a one-person site over it either. Live sellers are premium and CTV with onboarding and billing relationships. What a tiny operator can do today is publish adagents.json, run the Prebid Sales Agent against a free Ad Manager network, list on Apostra for free, and watch whether a brief ever arrives.
5. Paying publishers in phase two
| Rail | Cost | Reach | Tax handling |
|---|---|---|---|
| Stripe Connect Express | $2 per active account a month, 0.25% + 25¢ per payout, 1099 e-file $2.99 federal | Self-serve cross-border only US, UK, EEA, Canada, Switzerland | Files 1099s when the platform sets pricing; individuals allowed; "sales of online traffic" is restricted, revenue share is not |
| PayPal Payouts | $0.25 domestic, 2% international capped at $20; business account and access request | Wide | PayPal's 1099-K does not discharge the sender |
| Wise Business | $31 setup, from 0.23%, 1,000-row batches, API | Wide | None |
| Dots | $19/mo + $2 per payout, 1099 $5 | US-centric | Yes |
| Tipalti | From $249/mo | Wide | W-9/W-8 collection built in |
| Trolley | $2,399 a year per module | Wide | Yes |
Human steps: collect W-9 or W-8BEN before the first payment; the 2026 1099-NEC/MISC threshold is $2,000 (royalties $10); 24% backup withholding without a TIN; 30% withholding on US-source payments to foreign persons unless a treaty applies, and whether a foreign site's revenue share is US-source is a question for a tax professional. Google reports AdSense on 1099-MISC as royalties. AdSense and Stripe accept individuals; an EIN is not legally required for a sole proprietor but is the norm.
6. What this says about the first milestone
The handoff asked the next session to make the campaign concrete: channel and account, audience and geography, creative, destination, capped budget and duration, measurement, a stop condition. The survey narrows each.
Proposed answers, for Rob to accept or amend.
- Channels. Microsoft Advertising first (Search plus Audience Network, 65+ bid adjustments, US and Canada), Meta second (traffic objective, original audience 65+, women and men, same geography), a $5/day Reddit test third. Google Ads as the fourth, imported from Microsoft's campaign, once the account has aged. ChatGPT only with a registration in hand and only as a curiosity.
- Accounts. Rob opens Microsoft and Meta in his own name with photo ID and one card, enables two-factor, and connects Meta's hosted MCP so an agent can draft campaigns that land paused. Expect three to five business days before the first ad serves.
- Destination. The public game page with Terms, Privacy and Contact pages live and real contact details, per the cribbage repo's approvals table; no redirects, no shortener; a distinct landing path per channel.
- Measurement. The own log, extended: click ids and UTMs copied into local storage on load, written on the game-start row with the user agent; a privacy-page opt-out; the collector amended by a new decision record. Conversions back to Microsoft by scheduled CSV and to Meta by Conversions API from the Lambda, so the optimisers can learn. No vendor tag.
- Budget and duration. Capped per channel per day in the platform, a hard total, two to three weeks so a returning week can be observed. The numbers are Rob's.
- Stop condition. Stop a channel when its cost per game start exceeds a threshold Rob sets, or when invalid-click share or non-starting arrivals exceed a share he sets, or when the total cap is reached.
- What the campaign cannot answer. Revenue: no monetisation is active, so report it as unknown. The one revenue-shaped fact worth recording is that the incumbent's stack is Ad Manager plus fifteen exchanges, not AdSense.
Decisions this opens for Rob, with a proposed default.
| Decision | Proposed default | The alternative |
|---|---|---|
| Amend decision 003 to carry click ids on the start row | Yes, with an opt-out link on the privacy page | Keep the row as is and attribute by landing path only |
| A vendor analytics script | No | Umami Cloud Hobby behind an EEA opt-in, for dashboards |
| Conversions reported back to channels | Yes, server-side from the Lambda | Measure only, let the channels fly blind |
| First channel | Microsoft | Meta |
| ChatGPT Ads | Not this campaign | One $25/day week, if a registration exists |
| Open an AdSense account now | Yes, approval takes weeks and the queue should start | Wait until retention has four weeks of data |
Publish adagents.json and list on Apostra |
After the public day, cost is near zero | Not until a buyer is known to exist |
Unverified, and left that way
Reddit's own API and Conversions API docs and r/cribbage's rules (every Reddit page refused this machine); OpenAI's own pages (blocked; trade press used); whether an unregistered individual passes OpenAI's Persona check; Meta's default attribution window and its interest names for card games; TikTok's ttclid lifetime (7 vs 30 days); Microsoft developer-token approval time and whether 65+ can be excluded rather than bid down; Reddit self-serve write access to its API; Mediavine's and Raptive's revenue shares and payment terms; Google Ad Manager's free-tier impression cap; Open Bidding's fee; Kevel's price floor; Dub's free tier; Umami's own pricing page; whether Arkadium sends any traffic back to a developer's domain.
Sources
Acquisition
Google: https://support.google.com/adspolicy/answer/9872280 · https://support.google.com/adspolicy/answer/15577076 · https://support.google.com/adspolicy/answer/9703665 · https://support.google.com/google-ads/answer/2375432 · https://support.google.com/google-ads/answer/7652860 · https://support.google.com/google-ads/answer/2580383 · https://support.google.com/google-ads/answer/15594567 · https://support.google.com/google-ads/answer/10724817 · https://support.google.com/google-ads/answer/16297775 · https://support.google.com/adspolicy/answer/6368661 · https://support.google.com/adspolicy/answer/15936964 · https://support.google.com/adspolicy/answer/6020956 · https://support.google.com/google-ads/answer/1722120 · https://support.google.com/google-ads/answer/9841640 · https://support.google.com/adspolicy/answer/15983318 · https://localiq.com/blog/search-advertising-benchmarks/ · https://www.rockingweb.com.au/google-display-network-cpm-benchmarks-2025/ · https://stubgroup.com/blog/the-state-of-google-ads-suspensions/ · https://ppcdigest.com/what-is-the-minimum-amount-to-run-google-ads/ · https://megadigital.ai/en/blog/google-ads-expert-mode/
Microsoft: https://learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_advertiseridentityverification · https://learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_billingthreshold · https://about.ads.microsoft.com/en/get-started/best-practices-price-cost-control · https://learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_adsforcopilot · https://about.ads.microsoft.com/en/blog/post/january-2026/conversations-that-convert-copilot-checkout-and-brand-agents · https://learn.microsoft.com/en-us/advertising/guides/audience-ads?view=bingads-13 · https://learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_editprocess · https://learn.microsoft.com/en-us/advertising/guides/google-ads-import?view=bingads-13 · https://searchlab.nl/en/statistics/microsoft-ads-statistics-2026 · https://adzooma.com/blog/how-to-use-microsoft-ads-demographic-targeting/
Meta: https://www.facebook.com/business/help/407323696966570 · https://www.facebook.com/business/help/2058515294227817 · https://about.fb.com/news/2026/03/meta-launches-new-anti-scam-tools-deploys-ai-technology-to-fight-scammers-and-protect-people/ · https://www.facebook.com/business/help/203183363050448 · https://www.facebook.com/business/help/345214789920228 · https://www.wordstream.com/blog/facebook-ads-benchmarks-2026 · https://www.get-ryze.ai/blog/meta-ads-cost-benchmarks-by-industry-2026 · https://transparency.meta.com/policies/ad-standards/ · https://www.facebook.com/business/help/423781975167984 · https://www.facebook.com/business/help/204798856225114 · https://www.facebook.com/business/help/975570072950669 · https://www.jonloomer.com/advantage-plus-audience-best-practices-guide/
Reddit: https://business.reddithelp.com/en/categories/billing-payment/how-much-do-reddit-ads-cost · https://www.stackmatix.com/blog/reddit-ads-minimum-spend · https://business.reddithelp.com/s/article/reddit-audiences · https://www.stackmatix.com/blog/reddit-ads-cpc-cpm-benchmarks · https://business.reddithelp.com/s/article/About-Reddits-ad-review-process · https://support.reddithelp.com/hc/en-us/articles/28012014962580 · https://cribbagebox.com/learn/find-cribbage-clubs/
OpenAI and Perplexity: https://techinformed.com/openai-begins-testing-ads-in-chatgpt-in-the-us/ · https://www.adexchanger.com/ai/chatgpt-ads-have-begun-showing-up-for-logged-out-users/ · https://www.mediapost.com/publications/article/414857/openai-opens-ad-platform-to-cpc-bidding-self-serv.html · https://digiday.com/marketing/openai-opens-up-chatgpt-ads-manager-to-the-u-s-while-promising-third-party-measurement-cpa-bidding/ · https://www.digitalapplied.com/blog/where-chatgpt-ads-are-sold-every-market-and-date · https://thewhitebox.io/blog/who-can-advertise-on-chatgpt-eligibility-guide · https://help.openai.com/en/articles/20001047-ads-in-chatgpt · https://www.stackadapt.com/resources/blog/how-to-advertise-on-chatgpt · https://www.northcountrygrowth.com/blog/chatgpt-ads-targeting-options/ · https://www.indexlab.ai/guides/chatgpt-ads/business-verification · https://adtechradar.com/2026/03/22/openai-chatgpt-ad-policies/ · https://ppc.land/stackadapt-joins-chatgpt-ad-pilot-what-it-means-for-programmatic/ · https://openai.com/index/new-ways-to-buy-chatgpt-ads/ · https://developers.openai.com/ads · https://witscode.com/guides/chatgpt-ads · https://ceaksan.com/en/chatgpt-ads-access-eligibility · https://techcrunch.com/2024/11/12/perplexity-brings-ads-to-its-platform/ · https://www.mediapost.com/publications/article/409806/perplexity-stops-accepting-new-advertisers.html · https://www.macrumors.com/2026/02/18/perplexity-abandons-ai-advertising/ · https://www.axios.com/2025/08/26/perplexity-comet-plus-subscription
Other channels and portals: https://datareportal.com/essential-pinterest-stats · https://help.pinterest.com/en/business/article/set-up-campaign-budgets · https://www.stackmatix.com/blog/pinterest-ads-cost · https://policy.pinterest.com/en/advertising-guidelines · https://www.pewresearch.org/internet/fact-sheet/social-media/ · https://ads.tiktok.com/resources/help/article/budget?lang=en · https://business.x.com/en/advertising · https://developers.poki.com/guide/player-fit-test · https://developers.poki.com/guide/requirements-quality · https://developers.poki.com/guide/revenue-deal-types · https://www.similarweb.com/website/poki.com/ · https://docs.crazygames.com/faq/ · https://docs.crazygames.com/requirements/gameplay/ · https://docs.crazygames.com/payouts/ · https://itch.io/updates/open-revenue-sharing · https://www.newgrounds.com/wiki/creator-resources/monetization · https://www.engadget.com/kongregate-stops-accepting-new-games-july-22nd-191508621.html · https://static.gamedistribution.com/terms/developer.html · https://www.coolmathgames.com/submit-a-game · https://developers.arkadium.com/faq · https://www.similarweb.com/website/arkadium.com/ · https://realize.com/help/en/articles/3878086-setting-your-budget-and-pacing · https://realize.com/help/en/articles/3878205-landing-page-policies · https://www.outbrain.com/help/advertisers/campaign-creation-flow/ · https://www.outbrain.com/advertisers/guidelines/ · https://www.paved.com/help/articles/8120334-pricing-payments-for-advertisers · https://www.beehiiv.com/i-want-to/advertise · https://www.beehiiv.com/blog/beehiiv-acquires-swapstack · https://www.beehiiv.com/blog/newsletter-sponsorship-cost · https://www.cribbage.org/NewSite/CribWorld/cw_ad_rates6.pdf · https://www.aarp.org/advertise/
Measurement
https://developers.google.com/google-ads/api/docs/conversions/upload-offline · https://developers.google.com/google-ads/api/docs/access-levels · https://developers.google.com/data-manager/api/devguides/events/google-ads/offline/send-events · https://support.google.com/google-ads/answer/10029210 · https://support.google.com/google-ads/answer/11021502 · https://enalitica.com/blog/gclid-vs-gbraid-vs-wbraid-google-ads-click-ids · https://support.google.com/google-ads/answer/6273460 · https://support.google.com/google-ads/answer/42995 · https://support.google.com/google-ads/answer/11182074 · https://support.google.com/analytics/answer/1257084 · https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference · https://perfmetrix.com/blog/ga4-measurement-protocol · https://developers.google.com/tag-platform/security/guides/consent · https://support.google.com/adsense/answer/13554116 · https://developers.google.com/tag-platform/tag-manager/server-side/dependency-serving · https://www.auditsocials.com/blog/google-consent-mode-v2-enforcement-2026-eea-advertisers-remarketing-basic-advanced-consent · https://learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_uetv2offlineconversion · https://unified.to/blog/how_to_get_your_microsoft_advertising_api_key · https://ppc.land/microsoft-gates-its-new-conversions-api-behind-per-account-pilot-approval/ · https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc · https://developers.facebook.com/docs/marketing-api/conversions-api/get-started · https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters · https://developers.facebook.com/docs/marketing-api/conversions-api · https://weltpixel.com/blogs/news/meta-event-match-quality-emq-guide · https://leadjourney.io/blog/reddit-conversion-tracking · https://docs.metarouter.io/docs/reddit-ads · https://stape.io/blog/how-to-set-up-tiktok-events-api · https://ads.tiktok.com/help/article/events-api · https://seresa.io/blog/platform-integrations/tiktok-events-api-server-side-only-can-you-skip-the-client-side-pixel-entirely-in-2026 · https://stape.io/pricing · https://alexisvantal.com/articles/server-side-gtm-cost/ · https://plausible.io/#pricing · https://github.com/plausible/community-edition · https://github.com/plausible/analytics/discussions/1813 · https://canivibecodeit.com/umami-cloud · https://umami.is/blog/understanding-retention-analysis · https://rybbit.com/blog/posthog-pricing · https://posthog.com/docs/libraries/js/config · https://posthog.com/docs/libraries/js/persistence · https://posthog.com/docs/product-analytics/retention · https://matomo.org/pricing/ · https://matomo.org/faq/reports/analyse-cohorts/ · https://www.matomo.com/docs/cohorts/ · https://matomo.org/blog/2026/04/gpdr-cnil-compliance-single-click-feature-new/ · https://usefathom.com/pricing · https://www.goatcounter.com/ · https://www.simpleanalytics.com/pricing · https://github.com/benvinegar/counterscale · https://www.legislation.gov.uk/ukpga/2025/18/schedule/12 · https://kukie.io/blog/uk-data-use-and-access-act · https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guide-to-pecr/cookies-and-similar-technologies/ · https://www.cnil.fr/en/sheet-ndeg16-use-analytics-your-websites-and-applications · https://usercentrics.com/us/knowledge-hub/ccpa-cookie-banner/ · https://privacylawmap.com/blog/cookie-consent-requirements-us-state-privacy-laws · https://bitly.com/blog/bitly-free-plan/ · https://dub.co/pricing · https://short.io/pricing · https://www.clickcease.com/blog/what-is-invalid-traffic/ · https://www.clickcease.com/blog/clickcease-vs-fraud-blocker-2026/
Agent-drivable operations
https://ads-developers.googleblog.com/2025/10/open-source-google-ads-api-mcp-server.html · https://github.com/googleads/google-ads-mcp · https://developers.google.com/google-ads/api/docs/api-policy/access-levels · https://developers.google.com/google-ads/api/docs/api-policy/developer-token · https://developers.google.com/google-ads/api/docs/get-started/make-first-call · https://developers.google.com/google-ads/api/docs/best-practices/quotas · https://developers.google.com/google-ads/api/docs/conversions/upload-clicks · https://ppc.land/google-faces-developer-token-application-backlog-as-new-api-tier-debuts/ · https://github.com/Opteo/google-ads-api · https://adkit.so/resources/best-mcp-for-google-ads · https://github.com/Limetric/ads · https://developers.facebook.com/docs/marketing-api/overview/authorization · https://developers.facebook.com/docs/marketing-api/overview/rate-limiting · https://developers.facebook.com/docs/resp-plat-initiatives/individual-processes/app-review · https://developers.facebook.com/docs/development/release/business-verification · https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview · https://mcp.directory/blog/meta-ads-cli-mcp · https://commonthreadco.com/blogs/coachs-corner/meta-ai-mcp-cli-ads-connectors-ecommerce · https://github.com/pipeboard-co/meta-ads-mcp · https://github.com/hashcott/meta-ads-mcp-server · https://github.com/facebook/facebook-nodejs-business-sdk · https://github.com/filippofinke/reddit-ads-mcp · https://unified.to/blog/how_to_get_your_reddit_ads_api_key · https://www.stackmatix.com/blog/reddit-ads-api · https://business.reddithelp.com/s/article/Conversions-API · https://learn.microsoft.com/en-us/advertising/guides/get-started?view=bingads-13 · https://learn.microsoft.com/en-us/advertising/guides/sandbox?view=bingads-13 · https://learn.microsoft.com/en-us/advertising/guides/client-libraries?view=bingads-13 · https://about.ads.microsoft.com/en/solutions/technology/agentic-commerce/mcp-server · https://github.com/shinypebble/microsoft-ads-mcp · https://www.getpassionfruit.com/blog/getting-started-with-chatgpt-ads-a-step-by-step-setup-guide · https://soku.ai/blog/tiktok-marketing-api-v1-3-explained · https://ads.tiktok.com/business/en/blog/tiktok-agentic-hub-ai-agents-skills-mcp · https://www.get-ryze.ai/blog/tiktok-ads-mcp-official-server-how-to-connect · https://github.com/AdsMCP/tiktok-ads-mcp-server · https://developers.pinterest.com/docs/key-concepts/access-tiers/ · https://newsroom.pinterest.com/en-ca/news/cannes-2026/ · https://advertising.amazon.com/library/news/amazon-ads-mcp-server-open-beta · https://www.markifact.com/blog/state-of-advertising-mcps · https://github.com/googleanalytics/google-analytics-mcp · https://github.com/supermetrics-public/supermetrics-mcp · https://supermetrics.com/pricing · https://mcp.windsor.ai/ · https://windsor.ai/windsor-vs-funnel-io/ · https://improvado.io/mcp · https://workspace.google.com/marketplace/app/adveronix/523964251627 · https://help.zapier.com/hc/en-us/articles/8495986864781-How-to-get-started-with-Google-Ads-on-Zapier · https://zapier.com/apps/facebook-conversions/integrations · https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleads/ · https://composio.dev/toolkits/googleads · https://composio.dev/toolkits/metaads · https://pipedream.com/apps/google-ads · https://mcp.pipedream.com/app/google_ads · https://pipedream.com/pricing · https://github.com/adkit/ads-mcp · https://github.com/adkit/ads-skills · https://www.adspirer.com/blog/best-ad-mcp-servers-2026 · https://support.google.com/adspolicy/answer/9703665
Demand side, standards, money
https://cribbage-online.net/ads.txt · https://support.google.com/adsense/answer/9724 · https://support.google.com/adsense/answer/76228 · https://support.google.com/adsense/answer/1709871 · https://support.google.com/adsense/answer/1709858 · https://support.google.com/adsense/answer/180195 · https://blog.google/products/adsense/evolving-how-publishers-monetize-with-adsense/ · https://support.google.com/adsense/answer/9261805 · https://support.google.com/adsense/announcements/9189068 · https://support.google.com/adsense/answer/14184572 · https://developers.google.com/ad-placement · https://developers.google.com/ad-placement/docs/signup · https://adsense.google.com/start/h5-beta/ · https://adsense.google.com/start/h5-games-ads/ · https://support.google.com/adsense/answer/9955214 · https://support.google.com/adsense/answer/1348722 · https://support.google.com/adsense/answer/48182 · https://support.google.com/adsense/answer/10924669 · https://support.google.com/adsense/answer/1346295 · https://support.google.com/adsense/answer/7514132 · https://support.google.com/adsense/answer/16737 · https://support.google.com/adsense/answer/6053295 · https://support.google.com/adsense/answer/9437976 · https://developers.google.com/adsense/platforms/direct/overview · https://support.google.com/admanager/answer/9234653 · https://admanager.google.com/home/ · https://www.monetizemore.com/blog/what-do-reach-free-impression-limit-google-ad-manager/ · https://support.google.com/admanager/answer/9610698 · https://support.google.com/admanager/answer/9470827 · https://support.google.com/admanager/answer/9611105 · https://support.google.com/admanager/answer/9470825 · https://support.google.com/admanager/answer/9059370 · https://support.google.com/admanager/answer/9470824 · https://support.google.com/admanager/answer/10111490 · https://www.google.com/ads/publisher/partners/ · https://support.google.com/admanager/answer/7128453 · https://www.mediavine.com/mediavine-requirements/ · https://www.mediavine.com/blog/two-years-of-journey-by-mediavine/ · https://raptive.com/creators/ · https://www.ezoic.com/incubator/ · https://support.ezoic.com/kb/article/ezoic-payments · https://www.monumetric.com/propel-program/ · https://www.playwire.com/faq · https://www.shemedia.com/partner-network/faqs · https://freestar.com/publisher-quality-requirements/ · https://www.newormedia.com/elevatefaqs · https://www.publisher-collective.com/faq · https://www.venatus.com/publishers/browser-game-monetization · https://www.adinplay.com/publishers · https://developers.poki.com/guide/revenue-deal-types · https://github.com/prebid/Prebid.js/releases · https://github.com/prebid/prebid-server/releases · https://docs.prebid.org/overview/intro-to-header-bidding.html · https://docs.prebid.org/adops/before-you-start.html · https://docs.prebid.org/prebid-server/hosting/hosted-servers.html · https://prebid.org/managed-services/ · https://prebid.org/pricing/ · https://aps.amazon.com/aps/unified-ad-marketplace/ · https://aps.amazon.com/aps/transparent-ad-marketplace/ · https://www.sovrn.com/service-policies/ad-exchange-supply-policy/ · https://www.sharethrough.com/sharethrough-supply-policy · https://www.media.net/publishers/ · https://www.playwire.com/ad-tech-ecosystem/openx · https://www.playwire.com/ad-tech-ecosystem/magnite · https://adsterra.com/publishers/ · https://monetag.com/ · https://hilltopads.com/publishers · https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf · https://iabtechlab.com/wp-content/uploads/2019/07/Sellers.json_Final.pdf · https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/supplychainobject.md · https://support.google.com/admob/answer/9363762 · https://dev.kevel.com/docs/relay-onboarding-in-kevel-core · https://broadstreetads.com/pricing/ · https://www.adbutler.com/pricing · https://www.adglare.com/pricing · https://www.adspeed.com/Plans.html · https://www.revive-adserver.com/download/ · https://www.revive-adserver.net/pricing/ · https://equativ.com/publishers/ · https://iabeurope.eu/tcf-2-2/ · https://iabeurope.eu/transparency-consent-framework/ · https://www.cookiebot.com/en/pricing/ · https://usercentrics.com/pricing/ · https://oag.ca.gov/privacy/ccpa · https://www.osano.com/articles/global-privacy-control · https://business.safety.google/rdp/ · https://iabtechlab.com/gpp/ · https://www.betterads.org/standards/ · https://support.google.com/admanager/answer/10452255 · https://support.google.com/admanager/answer/9840201 · https://mediaratingcouncil.org/sites/default/files/Standards/081815%20Viewable%20Ad%20Impression%20Guideline_v2.0_Final.pdf · https://support.google.com/admanager/answer/4524488 · https://mediaratingcouncil.org/sites/default/files/Standards/IVT%20Addendum%20Update%20062520.pdf · https://www.tagtoday.net/fraud · https://iabtechlab.com/standards/openrtb/ · https://iabtechlab.com/standards/agentic-advertising-and-ai/ · https://iabtechlab.com/standards/aamp-agentic-advertising-management-protocols/ · https://iabtechlab.com/press-releases/iab-tech-lab-introduces-aamp-3-0-with-openproposal/ · https://github.com/IABTechLab/agentic-direct · https://iabtechlab.com/standards/artf/ · https://github.com/InteractiveAdvertisingBureau/AdManagementAPI · https://iabtechlab.com/standards/comp-content-monetization-protocols-initiative/ · https://iabtechlab.com/tech-lab-trusted-server/ · https://www.mediapost.com/publications/article/409904/supply-side-consortium-unveils-agentic-ad-protocol.html · https://agenticadvertising.org/ · https://docs.adcontextprotocol.org/docs/reference/release-notes · https://docs.adcontextprotocol.org/docs/media-buy · https://docs.adcontextprotocol.org/docs/reference/whats-new-in-v3 · https://docs.adcontextprotocol.org/dist/docs/3.1.2/faq · https://github.com/adcontextprotocol/adcp · https://github.com/adcontextprotocol/adcp-client · https://adcontextprotocol.org/adagents · https://github.com/prebid/salesagent · https://prebid.org/product-suite/sales-agent/ · https://apostra.com/pricing · https://apostra.com/blog/introducing-apostra · https://www.aragil.com/blog/adcp-the-protocol-set-to-kill-programmatic-s-black-box · https://blog.google/products/ads-commerce/google-marketing-live-2026/ · https://blog.google/products/admanager/ask-ad-manager/ · https://developers.google.com/adsense/management/reference/rest · https://developers.google.com/ad-manager/api/start · https://about.fb.com/news/2026/09/introducing-muse-small-business/ · https://techcrunch.com/2026/08/27/openai-to-start-showing-ads-on-chatgpts-free-and-go-tiers-in-india/ · https://stripe.com/connect/pricing · https://docs.stripe.com/connect/cross-border-payouts · https://docs.stripe.com/connect/tax-reporting · https://stripe.com/legal/restricted-businesses · https://www.paypal.com/us/webapps/mpp/merchant-fees · https://developer.paypal.com/docs/payouts/standard/ · https://tipalti.com/pricing/ · https://wise.com/us/pricing/business · https://usedots.com/pricing · https://trolley.com/trolley-pricing/ · https://www.irs.gov/instructions/i1099mec · https://www.irs.gov/businesses/understanding-your-form-1099-k · https://www.irs.gov/individuals/international-taxpayers/nra-withholding · https://support.google.com/youtube/answer/10391362
Method
Four parallel research agents on 2026-10-04, one per layer, each fetching the primary pages above; the acquisition and demand agents split further by channel and topic. Reddit and OpenAI refused every fetch from this machine, so those sections lean on trade press and are marked. Nothing here was taken from memory without a page behind it; where a page would not load, the claim says so.