{
  "$comment": "Dated, sourced facts about AI ad channels, maintained by Admux. Every value links to the provider’s own page. Not a guarantee of approval or placement.",
  "url": "https://admux.ai/channels.json",
  "verifiedAt": "2026-11-10",
  "channels": [
    {
      "slug": "chatgpt",
      "name": "ChatGPT ads",
      "provider": "OpenAI",
      "page": "https://admux.ai/channels/chatgpt",
      "specs": "https://admux.ai/specs/chatgpt",
      "verifiedAt": "2026-11-10",
      "facts": [
        {
          "key": "creative.title.length",
          "label": "Title length",
          "value": "3–50 characters",
          "status": "verified",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.body.length",
          "label": "Body (description) length",
          "value": "Up to 100 characters",
          "status": "verified",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.image.format",
          "label": "Image format and minimum size",
          "value": "JPEG, PNG or WebP; at least 640 × 640 px",
          "status": "verified",
          "explain": "Some blogs quote a 256 px minimum. That figure is OpenAI’s minimum for the advertiser icon, not for the ad image.",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.image.multi",
          "label": "Multi-image ads",
          "value": "4–6 square (1:1) images sharing one title, body and destination URL; API accounts must be enabled",
          "status": "verified",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.multi.cta",
          "label": "Multi-image call to action",
          "value": "'Learn more' is the only CTA; every image links to the same URL",
          "status": "verified",
          "source": {
            "title": "Creating ads for ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001212-creating-ads-for-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.destination_url",
          "label": "Destination URL rules",
          "value": "HTTP or HTTPS, up to 2,048 characters, reachable by OpenAI's ad crawlers",
          "status": "verified",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.ad_unit.components",
          "label": "Ad unit components",
          "value": "Advertiser name, favicon (logo), title, copy, landing page, image",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT: The Basics | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.advertiser_icon.min",
          "label": "Advertiser icon (favicon) minimum size",
          "value": "256 × 256 px (Account Management) vs 128 × 128 px (API Partner Setup)",
          "status": "conflict",
          "explain": "OpenAI’s Account Management guide asks for at least 256 × 256 px; its API Partner Setup page asks for at least 128 × 128 px. Use 256 px to satisfy both.",
          "source": {
            "title": "Account Management",
            "url": "https://developers.openai.com/ads/account-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.brand_name",
          "label": "Advertiser name shown in ads",
          "value": "brand_name: the public advertiser name shown in ads",
          "status": "verified",
          "source": {
            "title": "Account Management",
            "url": "https://developers.openai.com/ads/account-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.placement",
          "label": "Where ads appear",
          "value": "Below a ChatGPT response (one ad unit); multi-image ad format being tested during image generation",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.objectives",
          "label": "Campaign objectives and pricing",
          "value": "Views (CPM), Clicks (CPC), Conversions (oCPC or oCPM); never billed per conversion",
          "status": "verified",
          "source": {
            "title": "Creating campaigns for ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001210-creating-campaigns-for-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.billing_event.conversions",
          "label": "Billing for conversion campaigns",
          "value": "Help Center: oCPC (click billing) or oCPM (impression billing) for eligible advertisers; API docs: conversions campaigns bill for clicks only",
          "status": "conflict",
          "explain": "The Help Center offers eligible advertisers oCPC or oCPM billing on conversion campaigns. The API docs list click billing only, so oCPM may not be in the API yet.",
          "source": {
            "title": "Billing & Payment | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001216-billing-payment",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.bid_strategies.api",
          "label": "Bid strategies (Advertiser API)",
          "value": "Fixed bid (impressions, clicks, conversions); Maximize clicks; Maximize conversions ('Maximize Results'), which require a daily budget",
          "status": "verified",
          "source": {
            "title": "Bidding & Budgets",
            "url": "https://developers.openai.com/ads/bidding-and-budgets",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.bid_strategies.ads_manager",
          "label": "Bid strategies (Ads Manager, from 2026-11-09)",
          "value": "Intelligent bidding (formerly Maximize Results), Target CPA and Target CPC; Max Bid and Max CPC retire on 2027-01-01",
          "status": "conflict",
          "explain": "From 9 Nov 2026 the Help Center describes Intelligent bidding, Target CPA and Target CPC, with Max Bid retiring on 1 Jan 2027. The developer docs still describe fixed bids and Maximize Results; the Help Center says the API gets the new fields around 18 Nov 2026.",
          "source": {
            "title": "Bidding strategies and how pricing works in ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001634-bidding-strategies-and-how-pricing-works-in-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.auction_pricing",
          "label": "How price is set",
          "value": "Auction; the final winning auction bid sets the price paid",
          "status": "verified",
          "source": {
            "title": "Bidding strategies and how pricing works in ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001634-bidding-strategies-and-how-pricing-works-in-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.budget.daily",
          "label": "Daily budget behaviour",
          "value": "Average per day over 7 days; up to 2× on one day; no more than 7× over the 7-day period (Sunday–Saturday week)",
          "status": "verified",
          "source": {
            "title": "Billing & Payment | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001216-billing-payment",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.budget.lifetime",
          "label": "Lifetime (campaign-total) budget",
          "value": "Maximum spend across the campaign; can switch to daily but not back",
          "status": "verified",
          "source": {
            "title": "Billing & Payment | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001216-billing-payment",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.billing_model",
          "label": "Billing model",
          "value": "Postpay; self-serve card accounts are charged when a payment threshold is reached and at month end",
          "status": "verified",
          "source": {
            "title": "Billing & Payment | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001216-billing-payment",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "buying.account_spend_limit",
          "label": "Account spend limits",
          "value": "Date-range spend-limit windows (some accounts); daily account limit only for postpaid-invoice accounts",
          "status": "verified",
          "source": {
            "title": "Account Management",
            "url": "https://developers.openai.com/ads/account-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "minimum.daily_budget",
          "label": "Minimum daily budget (self-serve)",
          "value": "USD 25 per day (varies by currency, e.g. EUR 15, GBP 15, CAD 25, AUD 25, JPY 2,500, INR 725)",
          "status": "verified",
          "source": {
            "title": "Creating campaigns for ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001210-creating-campaigns-for-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "minimum.api_statement",
          "label": "Minimum budget (API docs)",
          "value": "Currency-dependent daily minimum; requests below it return an error stating the required amount",
          "status": "verified",
          "source": {
            "title": "Bidding & Budgets",
            "url": "https://developers.openai.com/ads/bidding-and-budgets",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "minimum.terms",
          "label": "Advertising Terms on minimums",
          "value": "Access doesn't guarantee inventory, delivery or 'any minimum spend or performance'",
          "status": "verified",
          "source": {
            "title": "Advertising Terms | OpenAI",
            "url": "https://openai.com/policies/advertising-terms/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "pricing.cpc.recommended_start_bid",
          "label": "Recommended starting CPC bid",
          "value": "$3–$5 USD max CPC to start (a recommendation, not a reported average price)",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT: The Basics | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.self_serve.countries",
          "label": "Self-serve Ads Manager countries",
          "value": "89 countries listed as 'Available' (see countries[])",
          "status": "verified",
          "source": {
            "title": "Ads Manager Availability | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001245-ads-manager-availability",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.markets.total",
          "label": "Countries where ChatGPT Ads are available",
          "value": "89 countries (as of 2026-10-21)",
          "status": "verified",
          "source": {
            "title": "ChatGPT Ads expands to 26 new countries as over 100,000 advertisers have used the platform",
            "url": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.home_country_restriction",
          "label": "Cross-border targeting for new self-serve accounts",
          "value": "Some new self-serve accounts can advertise only in their home country at first",
          "status": "verified",
          "source": {
            "title": "Creating campaigns for ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001210-creating-campaigns-for-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.buy_channels",
          "label": "Ways to buy",
          "value": "Self-serve Ads Manager (beta), OpenAI Ads Solutions team, agency partners, technology partners",
          "status": "verified",
          "source": {
            "title": "ChatGPT Ads expands to Southeast Asia and Taiwan",
            "url": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.test_start",
          "label": "Ads test start",
          "value": "2026-02-09, United States",
          "status": "verified",
          "source": {
            "title": "Testing ads in ChatGPT",
            "url": "https://openai.com/index/testing-ads-in-chatgpt/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.self_serve_launch",
          "label": "Self-serve Ads Manager launch",
          "value": "Beta self-serve Ads Manager began rolling out 2026-05-05",
          "status": "verified",
          "source": {
            "title": "New ways to buy ChatGPT ads",
            "url": "https://openai.com/index/new-ways-to-buy-chatgpt-ads/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.plans.with_ads",
          "label": "ChatGPT plans that show ads",
          "value": "Free and Go",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.plans.ad_free",
          "label": "ChatGPT plans without ads",
          "value": "Plus, Pro, Business, Enterprise, Edu",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.free_ads_free_option",
          "label": "Ad-free option on Free",
          "value": "Free users can switch to Ads-Free with lower message limits and fewer tools",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.under18",
          "label": "Under-18 users",
          "value": "No ads to accounts identified as under 18 (account age info plus age prediction)",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.logged_out",
          "label": "Logged-out users",
          "value": "Logged-out ads are limited to ads appropriate for all audiences; mature-content ads only for eligible logged-in users",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.temporary_chats",
          "label": "Temporary Chats",
          "value": "No ads",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.sensitive_topics",
          "label": "Sensitive-topic exclusions",
          "value": "No ads near personal health, mental health or politics; ad policies list further excluded contexts",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.personalization.eea",
          "label": "Personalised ads in the EEA and Switzerland",
          "value": "Not initially available",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "policy.categories",
          "label": "Allowed ad categories",
          "value": "Mainly consumer verticals; financial, health and legal services restricted (mostly US, case by case); political ads disallowed",
          "status": "verified",
          "source": {
            "title": "Ad policies | OpenAI",
            "url": "https://openai.com/policies/ad-policies/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.context_hints",
          "label": "Context hints",
          "value": "Ad-group descriptions of relevant products, use cases or needs; not exact-match keywords; up to 2,000 per ad group",
          "status": "verified",
          "source": {
            "title": "Targeting",
            "url": "https://developers.openai.com/ads/campaign-targeting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.geo",
          "label": "Geographic targeting",
          "value": "Countries (ISO alpha-2) plus location IDs (region, city, market, postal code where available); up to 2,500 IDs; product-feed campaigns country only",
          "status": "verified",
          "source": {
            "title": "Targeting",
            "url": "https://developers.openai.com/ads/campaign-targeting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.platforms",
          "label": "Platform targeting",
          "value": "iOS app, Android app, web (desktop, iOS and Android web can be targeted separately)",
          "status": "verified",
          "source": {
            "title": "Targeting",
            "url": "https://developers.openai.com/ads/campaign-targeting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.custom_audiences",
          "label": "Custom audiences",
          "value": "Customer lists (email, phone, SHA-256 hashes, GAID); inclusion and bid multipliers need 25,000+ matched users",
          "status": "verified",
          "source": {
            "title": "Targeting",
            "url": "https://developers.openai.com/ads/campaign-targeting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.negative_phrases",
          "label": "Negative phrases",
          "value": "Available to qualifying advertisers for brand-specific placement exclusions",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT: The Basics | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.pre_delivery",
          "label": "Ad review before delivery",
          "value": "Yes; ads must pass review before serving",
          "status": "verified",
          "source": {
            "title": "Frequently asked questions | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001220-frequently-asked-questions",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.method",
          "label": "How ads are reviewed",
          "value": "Mostly automated (ML, LLMs, classifiers) with human oversight; covers advertiser, creative, landing page and placement",
          "status": "verified",
          "source": {
            "title": "Ad policies | OpenAI",
            "url": "https://openai.com/policies/ad-policies/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.retrigger",
          "label": "What triggers re-review",
          "value": "Editing creative; changing brand name (pauses serving) or legal name; branding changes",
          "status": "verified",
          "source": {
            "title": "Campaign Management",
            "url": "https://developers.openai.com/ads/campaign-management",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.business_verification",
          "label": "Business verification",
          "value": "Can take up to 7 business days; may be required after a spending threshold",
          "status": "verified",
          "source": {
            "title": "Troubleshooting Common Onboarding and Policy Issues | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001534-troubleshooting-common-onboarding-and-policy-issues",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.metrics",
          "label": "Reporting metrics",
          "value": "Impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, post-click CVR, attributed sales, ROAS",
          "status": "verified",
          "source": {
            "title": "Reporting",
            "url": "https://developers.openai.com/ads/reporting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.freshness",
          "label": "Reporting freshness",
          "value": "Impressions, clicks and CTR about every 15 minutes; spend delayed 7–8 hours; conversions update daily",
          "status": "verified",
          "source": {
            "title": "Billing & Payment | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001216-billing-payment",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.attribution_windows",
          "label": "Attribution windows",
          "value": "Click 7/14/30 days (default 30); view-through 0 or 1 day (default 1); conversions = click + view (API, since 2026-09-30)",
          "status": "conflict",
          "explain": "OpenAI’s Reporting page says API conversion counts include view-through conversions since 30 Sep 2026. Its Measurement Pixel page says Ads Manager’s Conversions column stays click-through only. They may describe different surfaces.",
          "source": {
            "title": "Reporting",
            "url": "https://developers.openai.com/ads/reporting",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.advertiser_data",
          "label": "Data advertisers receive",
          "value": "Aggregated, non-identifying performance data only",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.label",
          "label": "Ad labelling",
          "value": "Clearly labelled as sponsored and visually separated from the answer",
          "status": "verified",
          "source": {
            "title": "Testing ads in ChatGPT",
            "url": "https://openai.com/index/testing-ads-in-chatgpt/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.answer_independence",
          "label": "Do ads influence answers?",
          "value": "No; ads run on separate systems and advertisers can't shape responses",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.privacy",
          "label": "Conversation privacy",
          "value": "Conversations aren't shared with advertisers; data never sold to advertisers",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.not_endorsement",
          "label": "Endorsement",
          "value": "Ads are paid placements, not endorsements",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.principles",
          "label": "Ads principles",
          "value": "Mission alignment, answer independence, conversation privacy, choice and control, long-term value",
          "status": "verified",
          "source": {
            "title": "Our approach to advertising and expanding access to ChatGPT",
            "url": "https://openai.com/index/our-approach-to-advertising-and-expanding-access/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.user_controls",
          "label": "User ad controls",
          "value": "Turn off personalisation, hide or report ads, 'About this ad', clear ads data (deleted within 30 days)",
          "status": "verified",
          "source": {
            "title": "Ads in ChatGPT | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001047-ads-in-chatgpt",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "accounts.ads_manager",
          "label": "Ads Manager",
          "value": "Self-serve Ads Manager (beta) at ads.openai.com",
          "status": "verified",
          "source": {
            "title": "Ads Manager Account Setup | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001213-ads-manager-account-setup",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "accounts.separate_per_advertiser",
          "label": "Agencies and multiple advertisers",
          "value": "Create a separate ad account for each advertiser",
          "status": "verified",
          "source": {
            "title": "Ads Manager Account Setup | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001213-ads-manager-account-setup",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "accounts.creation_limit",
          "label": "Ad account creation limit",
          "value": "Can't create a new account yourself once you belong to 10 or more",
          "status": "verified",
          "source": {
            "title": "Ads Manager Account Setup | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001213-ads-manager-account-setup",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "accounts.fixed_settings",
          "label": "Fixed account settings",
          "value": "Country/region, currency and time zone can't be changed after creation",
          "status": "verified",
          "source": {
            "title": "Ads Manager Account Setup | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001213-ads-manager-account-setup",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "accounts.roles",
          "label": "User roles",
          "value": "Admin, Member, Viewer",
          "status": "verified",
          "source": {
            "title": "Ads Manager Account Setup | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001213-ads-manager-account-setup",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.advertiser_api",
          "label": "Advertiser API",
          "value": "Public REST API (https://api.ads.openai.com/v1) for campaigns, ad groups, ads, feeds, conversions and reporting; keys created in Ads Manager",
          "status": "verified",
          "source": {
            "title": "Overview (Advertiser API)",
            "url": "https://developers.openai.com/ads/api-overview",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.rate_limits",
          "label": "API rate limits",
          "value": "600 requests/min per endpoint, 1,200 requests/min overall (per ad account and IP); bulk job creation 10 per 10 s",
          "status": "verified",
          "source": {
            "title": "Overview (Advertiser API)",
            "url": "https://developers.openai.com/ads/api-overview",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.partners",
          "label": "API partners",
          "value": "Partners use the client account's key; some features need enablement through an OpenAI partner representative",
          "status": "verified",
          "source": {
            "title": "API Partner Setup",
            "url": "https://developers.openai.com/ads/api-partner-setup",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "sponsored_agents.definition",
          "label": "Sponsored Agents",
          "value": "Ad format that lets people chat with an AI representative of a business; limited alpha for selected advertisers, no early-access requests",
          "status": "verified",
          "source": {
            "title": "Sponsored Agents in ChatGPT Ads | OpenAI Help Center",
            "url": "https://help.openai.com/en/articles/20001524-sponsored-agents-in-chatgpt-ads",
            "publisher": "OpenAI Help Center"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "conversion.pixel",
          "label": "Measurement Pixel",
          "value": "JavaScript browser pixel (oaiq('measure', ...))",
          "status": "verified",
          "source": {
            "title": "Measurement Pixel",
            "url": "https://developers.openai.com/ads/measurement-pixel",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "conversion.capi",
          "label": "Conversions API",
          "value": "Server-to-server events to bzr.openai.com with a separate Conversions API key; deduplicated with the Pixel by event ID",
          "status": "verified",
          "source": {
            "title": "Conversions API",
            "url": "https://developers.openai.com/ads/conversions-api",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "conversion.optimization",
          "label": "Conversion optimisation",
          "value": "Conversions objective optimises toward one standard event (e.g. order_created, lead_created); custom events can't be goals",
          "status": "verified",
          "source": {
            "title": "Bidding & Budgets",
            "url": "https://developers.openai.com/ads/bidding-and-budgets",
            "publisher": "OpenAI developer docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "scale.advertisers",
          "label": "Advertisers to date",
          "value": "Over 100,000 advertisers (as of 2026-10-21)",
          "status": "verified",
          "source": {
            "title": "ChatGPT Ads expands to 26 new countries as over 100,000 advertisers have used the platform",
            "url": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "scale.revenue",
          "label": "Revenue run-rate",
          "value": "$1 billion annualised run-rate (announced end of August 2026)",
          "status": "verified",
          "source": {
            "title": "ChatGPT Ads expands to Southeast Asia and Taiwan",
            "url": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/",
            "publisher": "OpenAI"
          },
          "verifiedAt": "2026-11-10"
        }
      ],
      "availability": [
        {
          "country": "Algeria",
          "code": "DZ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Argentina",
          "code": "AR",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Australia",
          "code": "AU",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Austria",
          "code": "AT",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Azerbaijan",
          "code": "AZ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Bahrain",
          "code": "BH",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Bangladesh",
          "code": "BD",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Belgium",
          "code": "BE",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Bolivia",
          "code": "BO",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Brazil",
          "code": "BR",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Bulgaria",
          "code": "BG",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Cambodia",
          "code": "KH",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Canada",
          "code": "CA",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Chile",
          "code": "CL",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Colombia",
          "code": "CO",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Costa Rica",
          "code": "CR",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Croatia",
          "code": "HR",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Cyprus",
          "code": "CY",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Czech Republic",
          "code": "CZ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Denmark",
          "code": "DK",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Dominican Republic",
          "code": "DO",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Ecuador",
          "code": "EC",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Egypt",
          "code": "EG",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "El Salvador",
          "code": "SV",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Estonia",
          "code": "EE",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Finland",
          "code": "FI",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "France",
          "code": "FR",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Germany",
          "code": "DE",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Greece",
          "code": "GR",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Guatemala",
          "code": "GT",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Hungary",
          "code": "HU",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Iceland",
          "code": "IS",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "India",
          "code": "IN",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Indonesia",
          "code": "ID",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Iraq",
          "code": "IQ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Ireland",
          "code": "IE",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Israel",
          "code": "IL",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Italy",
          "code": "IT",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Japan",
          "code": "JP",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Jordan",
          "code": "JO",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Kazakhstan",
          "code": "KZ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Kenya",
          "code": "KE",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Korea",
          "code": "KR",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Kuwait",
          "code": "KW",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Latvia",
          "code": "LV",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Lebanon",
          "code": "LB",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Liechtenstein",
          "code": "LI",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Lithuania",
          "code": "LT",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Luxembourg",
          "code": "LU",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Malaysia",
          "code": "MY",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Malta",
          "code": "MT",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Mexico",
          "code": "MX",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Morocco",
          "code": "MA",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Netherlands",
          "code": "NL",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "New Zealand",
          "code": "NZ",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Nigeria",
          "code": "NG",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Norway",
          "code": "NO",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Oman",
          "code": "OM",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Pakistan",
          "code": "PK",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Panama",
          "code": "PA",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Paraguay",
          "code": "PY",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Peru",
          "code": "PE",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Philippines",
          "code": "PH",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Poland",
          "code": "PL",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Portugal",
          "code": "PT",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Puerto Rico",
          "code": "PR",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Qatar",
          "code": "QA",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Romania",
          "code": "RO",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Saudi Arabia",
          "code": "SA",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Serbia",
          "code": "RS",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Singapore",
          "code": "SG",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Slovakia",
          "code": "SK",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Slovenia",
          "code": "SI",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "South Africa",
          "code": "ZA",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "Spain",
          "code": "ES",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Sri Lanka",
          "code": "LK",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Sweden",
          "code": "SE",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/chatgpt-ads-expands-across-europe/"
        },
        {
          "country": "Switzerland",
          "code": "CH",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Taiwan",
          "code": "TW",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Thailand",
          "code": "TH",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        },
        {
          "country": "Tunisia",
          "code": "TN",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Turkey",
          "code": "TR",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Ukraine",
          "code": "UA",
          "status": "live",
          "since": "2026-10-21",
          "source": "https://openai.com/index/chatgpt-ads-expands-26-new-countries/"
        },
        {
          "country": "United Arab Emirates",
          "code": "AE",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "United Kingdom",
          "code": "GB",
          "status": "live",
          "since": null,
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "United States",
          "code": "US",
          "status": "live",
          "since": "2026-02-09",
          "source": "https://openai.com/index/testing-ads-in-chatgpt/"
        },
        {
          "country": "Uruguay",
          "code": "UY",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Uzbekistan",
          "code": "UZ",
          "status": "live",
          "since": null,
          "source": "https://help.openai.com/en/articles/20001245-ads-manager-availability"
        },
        {
          "country": "Vietnam",
          "code": "VN",
          "status": "live",
          "since": "2026-09-23",
          "source": "https://openai.com/index/chatgpt-ads-expands-southeast-asia-taiwan/"
        }
      ]
    },
    {
      "slug": "google-search-ai",
      "name": "Google AI Overviews and AI Mode ads",
      "provider": "Google",
      "page": "https://admux.ai/channels/google-search-ai",
      "specs": "https://admux.ai/specs/google-search-ai",
      "verifiedAt": "2026-11-10",
      "facts": [
        {
          "key": "definition",
          "label": "What it is",
          "value": "Google Search ads (Search, Shopping, Performance Max) that can also serve within or alongside AI Overviews and AI Mode responses.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "placement.where",
          "label": "Where ads appear",
          "value": "Directly within or alongside AI-generated responses when a search or conversation has commercial relevance, including across follow-up questions in AI Mode.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "placement.aboveBelowAIO",
          "label": "Ads above/below AI Overviews",
          "value": "Standard Search ads can still appear above or below an AI Overview; an ad can appear above and within the same AI Overview, but not within and immediately below it.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "campaigns.eligible",
          "label": "Eligible campaign types",
          "value": "Existing Search, Shopping and Performance Max campaigns are automatically eligible; no new campaign or separate budget needed.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.optOut",
          "label": "Placement-only targeting or opt-out",
          "value": "Not possible: you can't target only AI Overviews/AI Mode or opt out of them separately from Search.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.controls",
          "label": "Advertiser controls",
          "value": "Existing guardrails such as negative keywords, asset pinning and brand exclusions continue to apply.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.contextualMatching",
          "label": "Contextual matching",
          "value": "AI Max for Search, broad match, Shopping and Performance Max are eligible for both contextual matching (query + AI response) and direct query matching.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.exactPhrase",
          "label": "Exact and phrase match",
          "value": "Eligible only when the query expresses direct commercial intent; not eligible for contextual matching on exploratory questions.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "formats",
          "label": "Ad formats",
          "value": "Text ads and Shopping ads; Google is experimenting with other types such as local inventory ads and vehicle ads.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.aiExplainers",
          "label": "AI explainers",
          "value": "Google may show AI explainers (text generated by Gemini models) next to ads; advertisers can't write, edit, approve or opt out of them.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.assets",
          "label": "Creative inputs",
          "value": "Ads combine existing campaign assets (headlines, descriptions, images, pricing, landing pages).",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.label",
          "label": "Disclosure label",
          "value": "\"Sponsored\"; visually distinguished from organic content.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.aggregate",
          "label": "Reporting",
          "value": "AI Overviews / AI Mode performance is included in aggregate in standard campaign reports; no separate breakout is described.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.searchTerms",
          "label": "Search terms report",
          "value": "Triggering queries are included in aggregate in the search terms report.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "pricing.model",
          "label": "Buying / pricing model",
          "value": "Same auction as Search; CPC or conversion-based bidding; no extra charge to participate.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.language",
          "label": "Language",
          "value": "English only for ads within AI Overviews and AI Mode.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.aboveBelow",
          "label": "Ads above/below AI Overviews availability",
          "value": "All 200+ countries and territories and all languages where AI Overviews are available.",
          "status": "verified",
          "source": {
            "title": "About ads in AI-powered experiences in Google Search - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/18826097",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "availability.multiturnUS",
          "label": "Multiturn ads in AI Mode",
          "value": "Ads in follow-up queries in AI Mode launched in the U.S. (announced 2026-10-28).",
          "status": "verified",
          "source": {
            "title": "Ads in AI Mode expand to new markets (The Keyword, 2026-10-28)",
            "url": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/",
            "publisher": "Google blog"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "policy.review",
          "label": "Ad review",
          "value": "Every new or edited ad is reviewed against Google Ads policies; most reviews complete within one business day.",
          "status": "verified",
          "source": {
            "title": "About the ad review process - Advertising Policies Help",
            "url": "https://support.google.com/google-ads/answer/1722120",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.headline.count",
          "label": "RSA headline count",
          "value": "3 to 15 headlines",
          "status": "verified",
          "source": {
            "title": "Create responsive search ads - Google Ads API",
            "url": "https://developers.google.com/google-ads/api/docs/responsive-search-ads/create-responsive-search-ads",
            "publisher": "Google Ads API docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.headline.length",
          "label": "RSA headline length",
          "value": "Up to 30 characters each",
          "status": "verified",
          "source": {
            "title": "About responsive search ads - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/7684791",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.description.count",
          "label": "RSA description count",
          "value": "2 to 4 descriptions",
          "status": "verified",
          "source": {
            "title": "Create responsive search ads - Google Ads API",
            "url": "https://developers.google.com/google-ads/api/docs/responsive-search-ads/create-responsive-search-ads",
            "publisher": "Google Ads API docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.description.length",
          "label": "RSA description length",
          "value": "Up to 90 characters each",
          "status": "verified",
          "source": {
            "title": "About responsive search ads - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/7684791",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.path.length",
          "label": "Display URL path length",
          "value": "path1 and path2 optional, up to 15 characters each; path2 requires path1",
          "status": "verified",
          "source": {
            "title": "Create responsive search ads - Google Ads API",
            "url": "https://developers.google.com/google-ads/api/docs/responsive-search-ads/create-responsive-search-ads",
            "publisher": "Google Ads API docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.finalUrl",
          "label": "Final URL",
          "value": "At least one final URL is required",
          "status": "verified",
          "source": {
            "title": "Create responsive search ads - Google Ads API",
            "url": "https://developers.google.com/google-ads/api/docs/responsive-search-ads/create-responsive-search-ads",
            "publisher": "Google Ads API docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.doubleWidth",
          "label": "Double-width characters",
          "value": "Each double-width character (Korean, Japanese, Chinese) counts as 2",
          "status": "verified",
          "source": {
            "title": "About responsive search ads - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/7684791",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.dailyLimit",
          "label": "Daily spending limit",
          "value": "2x the average daily budget for most campaigns",
          "status": "verified",
          "source": {
            "title": "About spending limits - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/10486637",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.monthlyLimit",
          "label": "Monthly spending limit",
          "value": "30.4x the average daily budget for most campaigns",
          "status": "verified",
          "source": {
            "title": "About spending limits - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/10486637",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.total.dates",
          "label": "Campaign total budget",
          "value": "Available for Search (and Demand Gen, Standard Shopping, PMax, YouTube) campaigns with specific start and end dates",
          "status": "verified",
          "source": {
            "title": "Campaign total budgets for Demand Gen, Search, Standard Shopping, Performance Max, and YouTube ads FAQs - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/15137812",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.total.duration",
          "label": "Total budget duration (Search)",
          "value": "3 to 90 days",
          "status": "verified",
          "source": {
            "title": "About campaign total budgets - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/10486938",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.total.newOnly",
          "label": "Total budget restrictions",
          "value": "Only for new campaigns; budget type can't be changed after creation; no daily spending limits, never charged more than the total.",
          "status": "verified",
          "source": {
            "title": "About campaign total budgets - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/10486938",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "aiMax.definition",
          "label": "AI Max for Search",
          "value": "A suite of targeting and creative enhancements for Search campaigns: search term matching, text customization and final URL expansion.",
          "status": "verified",
          "source": {
            "title": "About AI Max for Search campaigns - Google Ads Help",
            "url": "https://support.google.com/google-ads/answer/15910366",
            "publisher": "Google Ads Help"
          },
          "verifiedAt": "2026-11-10"
        }
      ],
      "availability": [
        {
          "country": "United States",
          "code": "US",
          "placement": "AI Overviews",
          "status": "live",
          "since": "2024-10-03",
          "source": "https://blog.google/products/ads-commerce/google-lens-ai-overviews-ads-marketers/"
        },
        {
          "country": "United States",
          "code": "US",
          "placement": "AI Mode",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Australia",
          "code": "AU",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Australia",
          "code": "AU",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Canada",
          "code": "CA",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Canada",
          "code": "CA",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "India",
          "code": "IN",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "India",
          "code": "IN",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Kenya",
          "code": "KE",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Kenya",
          "code": "KE",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Malaysia",
          "code": "MY",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Malaysia",
          "code": "MY",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "New Zealand",
          "code": "NZ",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "New Zealand",
          "code": "NZ",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Nigeria",
          "code": "NG",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Nigeria",
          "code": "NG",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Pakistan",
          "code": "PK",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Pakistan",
          "code": "PK",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Philippines",
          "code": "PH",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Philippines",
          "code": "PH",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Singapore",
          "code": "SG",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Singapore",
          "code": "SG",
          "placement": "AI Mode",
          "status": "live",
          "since": "2026-10-28",
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Indonesia",
          "code": "ID",
          "placement": "AI Overviews",
          "status": "live",
          "since": null,
          "source": "https://support.google.com/google-ads/answer/18826097"
        },
        {
          "country": "Brazil",
          "code": "BR",
          "placement": "AI Mode",
          "status": "announced",
          "since": null,
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "Mexico",
          "code": "MX",
          "placement": "AI Mode",
          "status": "announced",
          "since": null,
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        },
        {
          "country": "United Kingdom",
          "code": "GB",
          "placement": "AI Mode",
          "status": "announced",
          "since": null,
          "source": "https://blog.google/products/ads-commerce/ads-in-ai-mode-global/"
        }
      ]
    },
    {
      "slug": "gravity",
      "name": "Gravity ad network",
      "provider": "Gravity",
      "page": "https://admux.ai/channels/gravity",
      "specs": "https://admux.ai/specs/gravity",
      "verifiedAt": "2026-11-10",
      "facts": [
        {
          "key": "definition",
          "label": "What it is",
          "value": "An ad network for AI: brands reach people inside conversations with LLMs, agents, chatbots and AI search, and the host apps earn from the ads.",
          "status": "verified",
          "source": {
            "title": "Introduction - Gravity docs",
            "url": "https://docs.trygravity.com/",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "placement.where",
          "label": "Where ads appear",
          "value": "Chat apps, coding assistants and IDEs, consumer AI apps and AI search. Gravity names no specific publisher apps.",
          "status": "verified",
          "source": {
            "title": "Overview - Gravity docs",
            "url": "https://docs.trygravity.com/introduction/overview",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "placement.verifiedPublishers",
          "label": "Publisher verification",
          "value": "Ads show only on websites and apps Gravity has verified; Gravity reviews each platform before real ads serve.",
          "status": "verified",
          "source": {
            "title": "Guidelines (AI Platform Guidelines) - Gravity docs",
            "url": "https://docs.trygravity.com/ai-platforms/publisher-requirements",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "placement.exclusivity",
          "label": "Ad exclusivity on screen",
          "value": "When a Gravity ad is on screen, no other ad (other networks or house ads) can be on screen.",
          "status": "verified",
          "source": {
            "title": "Guidelines (AI Platform Guidelines) - Gravity docs",
            "url": "https://docs.trygravity.com/ai-platforms/publisher-requirements",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "network.size",
          "label": "Network size (self-reported)",
          "value": "Gravity claims 20+ AI platforms and 1B+ users across the network.",
          "status": "verified",
          "source": {
            "title": "Gravity: The Ad Network for AI",
            "url": "https://www.trygravity.com/",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "matching",
          "label": "How ads are matched",
          "value": "Contextual: the engine compares recent conversation messages with active campaigns, runs an auction and returns the winning ad.",
          "status": "verified",
          "source": {
            "title": "Core concepts - Gravity docs",
            "url": "https://docs.trygravity.com/introduction/concepts",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.baseUrl",
          "label": "API base URL and auth",
          "value": "REST API at https://platform.trygravity.com, X-API-Key header on every request.",
          "status": "verified",
          "source": {
            "title": "Dashboard API - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/dashboard-api",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.keyScope",
          "label": "API key scope",
          "value": "One key per account, no scopes, full access including spend.",
          "status": "verified",
          "source": {
            "title": "Advertiser APIs - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/overview",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.rateLimit",
          "label": "API rate limit",
          "value": "About 100 requests per second per client IP; 429 with Retry-After above that.",
          "status": "verified",
          "source": {
            "title": "Advertiser APIs - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/overview",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.campaign.defaultStatus",
          "label": "Default campaign status on create",
          "value": "active (draft and paused also allowed); docs warn active campaigns can spend.",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.campaign.networkMode",
          "label": "Delivery network mode",
          "value": "network_mode: dynamic, gravity or openai; OpenAI-only delivery needs account access.",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.daily",
          "label": "Daily budget",
          "value": "Average daily budget in dollars; spend on one UTC day can reach 110%, then serving stops until the next day.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.total",
          "label": "Total (lifetime) budget",
          "value": "budget_type total requires total_budget, end_time and OpenAI-only delivery.",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "budget.monthlyCap",
          "label": "Monthly cap (CPA)",
          "value": "CPA campaigns use a monthly cap; serving stops when spend reaches it each calendar month.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "objective.clicks",
          "label": "Objective: Clicks",
          "value": "Optimizes for clicks; billed per 1,000 impressions (CPM); no tracking needed.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "objective.reach",
          "label": "Objective: Reach",
          "value": "Optimizes for unique people at lowest CPM; billed CPM; available to everyone.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "objective.conversions",
          "label": "Objective: Conversions",
          "value": "Optimizes for a chosen conversion event; billed CPM; event must have server-side proof (live CAPI/integration event or passed CAPI test). Pixel events don't count.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "objective.cpa",
          "label": "Objective: CPA eligibility",
          "value": "Pay per attributed conversion; requires $5,000 lifetime spend or Gravity unlock.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "pricing.model",
          "label": "Buying / pricing model",
          "value": "CPM (per 1,000 impressions), or CPA where the account allows it. No click (CPC) billing for new campaigns.",
          "status": "verified",
          "source": {
            "title": "Overview - Gravity docs",
            "url": "https://docs.trygravity.com/introduction/overview",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "pricing.noCpc",
          "label": "Click billing",
          "value": "Not offered; billing_model cpm (cpc accepted only for older campaigns).",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "pricing.minimumSpend",
          "label": "Minimum spend",
          "value": "No minimum; start with any daily budget. A payment method is required before a campaign can launch.",
          "status": "verified",
          "source": {
            "title": "AI Advertising FAQ | Gravity",
            "url": "https://www.trygravity.com/help/faq",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "learningPeriod",
          "label": "Learning period",
          "value": "2 to 3 months for Conversions campaigns, up to 30 days for other objectives.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.countries",
          "label": "Country targeting",
          "value": "Countries chosen at campaign/ad-group level; none selected means all countries. Regions and DMAs via geo_targets.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.countries.marketing",
          "label": "Countries (marketing claim)",
          "value": "Advertisers page shows \"180+ countries\".",
          "status": "verified",
          "source": {
            "title": "Advertisers: Reach Buyers Inside AI Conversations | Gravity",
            "url": "https://www.trygravity.com/advertisers",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.devices",
          "label": "Device targeting",
          "value": "iPhone, Android or desktop (API: web, ios_app, android_app); none selected means all.",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.english",
          "label": "English-only option",
          "value": "english_only serves only in conversations detected as English.",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.adGroupTypes",
          "label": "Ad group types",
          "value": "Generative (Gravity writes the ad per conversation from your context) or Static/manual (shown exactly as written).",
          "status": "verified",
          "source": {
            "title": "Campaigns - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.generatedEditable",
          "label": "Editing generated ads",
          "value": "Generated ads can't be changed; only manual ads can be edited or archived.",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.headline.length",
          "label": "Headline length (manual ads)",
          "value": "Up to 80 characters",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.body.length",
          "label": "Ad copy length (manual ads)",
          "value": "Up to 500 characters",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.cta.length",
          "label": "CTA length (manual ads)",
          "value": "Up to 80 characters",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.brandName.length",
          "label": "Brand name",
          "value": "Shown to users next to the ad; at most 500 characters; defaults to landing page host name.",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.image",
          "label": "Image requirements",
          "value": "Public PNG, JPEG, GIF or WebP, 10 MB or less; some delivery networks need an image on each ad.",
          "status": "verified",
          "source": {
            "title": "Ad groups and ads (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/ad-groups",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "creative.campaignName.length",
          "label": "Campaign name length",
          "value": "At most 255 characters",
          "status": "verified",
          "source": {
            "title": "Campaigns (API reference) - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/campaigns",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "formats",
          "label": "Ad formats (as served to AI platforms)",
          "value": "Text, server-rendered design, image (top/side), rich frame (iframe, web only), carousel (3-10 product cards, web only).",
          "status": "verified",
          "source": {
            "title": "Ad formats - Gravity docs",
            "url": "https://docs.trygravity.com/ai-platforms/ad-formats",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.label",
          "label": "Disclosure label",
          "value": "All formats carry a \"Sponsored\" label.",
          "status": "verified",
          "source": {
            "title": "Ad formats - Gravity docs",
            "url": "https://docs.trygravity.com/ai-platforms/ad-formats",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "disclosure.policy",
          "label": "Labelling policy",
          "value": "All advertising must be identified as such per FTC native-advertising guidance.",
          "status": "verified",
          "source": {
            "title": "Brand Safety | Gravity",
            "url": "https://www.trygravity.com/brand-safety",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.campaign",
          "label": "Review process",
          "value": "Gravity reviews every new campaign before delivery; status shows Processing during setup; re-activation can trigger review again.",
          "status": "verified",
          "source": {
            "title": "Advertiser quickstart - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/quickstart",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "review.reactivation",
          "label": "Re-review on activation",
          "value": "Activation can send a campaign to review again.",
          "status": "verified",
          "source": {
            "title": "Dashboard API - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/dashboard-api",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "policy.restrictedCategories",
          "label": "Restricted categories",
          "value": "Weapons, pharma, alcohol, tobacco/nicotine, digital assets, political, dating and licensed gambling need explicit Gravity authorization; a separate prohibited list applies.",
          "status": "verified",
          "source": {
            "title": "Brand Safety | Gravity",
            "url": "https://www.trygravity.com/brand-safety",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.levels",
          "label": "Reporting levels",
          "value": "Daily metrics at campaign, ad group and ad unit (creative) level.",
          "status": "verified",
          "source": {
            "title": "Reports and account data - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/reports",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.creativeLimits",
          "label": "Creative-level reporting limits",
          "value": "Ad-unit reports give impressions, clicks, spend, CTR, CPC, CPM; conversions, CPA and ROAS are attributed only at campaign level.",
          "status": "verified",
          "source": {
            "title": "Reports and account data - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/reports",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.attributionWindow",
          "label": "Attribution window",
          "value": "Currently 7 days after a Gravity click or view; may change.",
          "status": "verified",
          "source": {
            "title": "Reports and account data - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/reports",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.lookback",
          "label": "Report lookback",
          "value": "1 to 365 days per request.",
          "status": "verified",
          "source": {
            "title": "Reports and account data - Gravity docs",
            "url": "https://docs.trygravity.com/api-reference/advertiser/reports",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "api.mcp",
          "label": "Dashboard MCP server",
          "value": "https://platform.trygravity.com/mcp; same API key; full admin access; actions run without confirmation; no spend limit.",
          "status": "verified",
          "source": {
            "title": "Dashboard MCP server for advertisers - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/dashboard-mcp",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "delivery.partnerNetworks",
          "label": "Partner delivery (OpenAI / ChatGPT)",
          "value": "Campaigns can deliver on partner networks; reporting for ChatGPT and OpenAI campaigns aligns with OpenAI reports (America/New_York).",
          "status": "verified",
          "source": {
            "title": "Dashboard API - Gravity docs",
            "url": "https://docs.trygravity.com/advertisers/dashboard-api",
            "publisher": "Gravity docs"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "formats.faq",
          "label": "Ad formats (FAQ version)",
          "value": "FAQ lists Sponsored Block and Inline Hyperlink",
          "status": "conflict",
          "explain": "Gravity’s FAQ lists two formats, Sponsored Block and Inline Hyperlink. Its docs list five: text, server-rendered design, image, rich frame and carousel.",
          "source": {
            "title": "AI Advertising FAQ | Gravity",
            "url": "https://www.trygravity.com/help/faq",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "reporting.attribution.faq",
          "label": "Attribution (FAQ version)",
          "value": "FAQ says click-based attribution",
          "status": "conflict",
          "explain": "Gravity’s FAQ calls attribution click-based. Its reporting docs count conversions within 7 days of a Gravity click or view.",
          "source": {
            "title": "AI Advertising FAQ | Gravity",
            "url": "https://www.trygravity.com/help/faq",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        },
        {
          "key": "targeting.keywords",
          "label": "Keyword targeting",
          "value": "Advertisers page offers keyword targeting; docs say matching is on context, not keywords, and the campaign API rejects a `keywords` field.",
          "status": "conflict",
          "explain": "Gravity’s advertisers page mentions keyword targeting. Its docs say it matches on context, not keywords, and its campaign API rejects a keywords field.",
          "source": {
            "title": "Advertisers: Reach Buyers Inside AI Conversations | Gravity",
            "url": "https://www.trygravity.com/advertisers",
            "publisher": "Gravity"
          },
          "verifiedAt": "2026-11-10"
        }
      ]
    }
  ]
}