{
 "record_version": "HISTORY: first-pass vendor profiles as recorded, before fact-checks. Superseded where they differ from canonical.json profiles.",
 "profiles": [
  {
   "group": "V1",
   "vendor_id": "applovin",
   "parent_org": "AppLovin Corporation",
   "products_in_scope": [
    "Axon Ads Manager (AppDiscovery)"
   ],
   "roles": [
    "DSP",
    "ad network"
   ],
   "ownership": {
    "status": "public",
    "ticker": "APP",
    "source_ids": [
     "V1-S01"
    ],
    "note": "Single reportable advertising segment since the Apps/Tripledot divestiture closed 30 Jun 2025 (~$400M cash plus ~20% Tripledot equity per prior public reporting, not independently re-verified this session)."
   },
   "financial_scale": {
    "basis": "filing",
    "figures": "FY2025 total revenue $5,480.7M (reported via search-derived summary of the 10-K, NOT independently re-verified from the financial statements section this session, which the fetch tool could not reach) vs FY2024 $3,224.1M, ~70% YoY growth; treat the exact FY2025/FY2024 totals as needing re-verification against the financial-statements section directly.",
    "source_ids": [
     "V1-S01"
    ]
   },
   "what_is_sold": "A self-serve, ML-driven (Axon/AXON engine) auction connecting app and web/e-commerce advertiser demand to AppLovin's owned and MAX-mediated publisher supply, billed dynamically (dCPI, cDPM, CPM, or performance-goal billing) rather than fixed per-impression/per-action pricing.",
   "buyer_and_app_fit": "App and (since 2025-26) web/e-commerce advertisers seeking scaled ML-driven UA outside Meta/Google; best fit for advertisers with sufficient event volume to feed AXON optimization; not demonstrated as a neutral, fully transparent DSP for buyers requiring app/placement-level block-list control (not found documented for advertisers this session).",
   "economics": {
    "pricing_model": "Dynamic: dCPI (install-optimized), cDPM (ROAS/CPA-optimized), CPM (paced/creative-testing spend), CPI (proven-winner fast spend); web/e-commerce campaigns additionally billed on CPA/ROAS outcomes.",
    "minimums": "not disclosed",
    "source_ids": [
     "V1-S05",
     "V1-S06"
    ]
   },
   "data_requirements": "MMP or S2S postbacks for event/ROAS optimization; SKAdNetwork signed-click/postback flow for iOS install attribution (documented at the MAX/Exchange level for DSPs bidding in; Axon's own advertiser-side SKAN conversion-value handling was not independently documented this session).",
   "supply_dependencies": "Owned/aggregated publisher SDK supply via MAX mediation plus AppLovin Exchange; CTV supply via owned Wurl (acquired 2022).",
   "measurable_controls": "Reporting API (aggregated JSON/CSV, cost/ROAS/retention/billing-method fields, 45-day window); Campaign Management API (create/update campaigns, creative sets, country-level budgets) documented for web advertisers.",
   "implementation_burden": "Low-to-moderate for self-serve Axon Ads Manager (launched broadly June 2026); MMP/S2S integration required for event-based optimization; no independently-confirmed app/placement block-list tool for advertisers.",
   "proof_quality": [
    {
     "study_or_case": "Safe Sleeve / Sweet Flexx (AppLovin Ads Playbook)",
     "who_ran_it": "AppLovin (vendor training material)",
     "design": "narrative case walkthrough, no comparator disclosed",
     "source_id": "V1-S03"
    },
    {
     "study_or_case": "Kikoff CTV case (AdExchanger)",
     "who_ran_it": "Reported by AdExchanger, quoting AppLovin VP and Kikoff",
     "design": "vendor-reported before/after, no holdout comparator disclosed in the article",
     "source_id": "V1-S09"
    },
    {
     "study_or_case": "AppLovin's own geo-holdout incrementality methodology",
     "who_ran_it": "AppLovin, described in its own blog",
     "design": "geo holdout (20-50% of footprint), >=90% statistical power, campaigns required to be out of learning phase",
     "source_id": "V1-S04"
    }
   ],
   "counterevidence_note": "Independent third-party incrementality tests (e.g. Haus.io, BlueAlpha case write-ups referenced in web search results but not independently opened this session) have reported cases of large attributed ROAS with little-to-no measured incremental lift (e.g. a 'Cann' geo-holdout write-up). These are third-party findings about specific advertisers' experience, not a documented AppLovin capability, and should be treated as counterevidence/tension rather than scored.",
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "AppLovin owns Adjust (its own MMP) -- a potential conflict of interest when Adjust is used to measure AppLovin's own campaigns; report as a structural conflict, not misconduct.",
    "AXON model changes are described by AppLovin itself as the primary driver of a ~70%(unverified from primary financials this session) revenue step-change, concentrating growth in a single proprietary, non-auditable model.",
    "Independent geo-holdout tests reported by third parties have found cases of minimal incremental lift versus attributed ROAS -- an allegation/finding pattern, not confirmed platform-wide."
   ],
   "poor_fit_use_cases": "Buyers requiring documented app/placement-level block-lists, bid-level cost transparency, or a self-serve standardized incrementality product should not assume these exist based on current evidence (all scored n/e).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S05",
      "V1-S06"
     ],
     "rationale": "Reporting API exposes ROAS/ad_roas and retention (1-28d) metrics plus bidding_and_billing_method; Campaign Management API supports automated bidding to a cost/ROAS target.",
     "conditions": "Confirmed for web/e-commerce campaigns; app-UA campaign parity assumed, not independently confirmed."
    },
    "D2": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No official Axon Ads Manager documentation describing a retargeting/re-engagement campaign product or mechanism was found or independently opened this session.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S02"
     ],
     "rationale": "MAX/Exchange documentation confirms SKAdNetwork signed-click submission and postback receipt for DSPs bidding into AppLovin inventory; no SKAN4 conversion-value/crowd-anonymity detail or AdAttributionKit support documented.",
     "conditions": "iOS; documented at the MAX-mediation/Exchange level, not confirmed for Axon's own advertiser-facing SKAN reporting specifically."
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S03",
      "V1-S07"
     ],
     "rationale": "Official guidance documents iterative testing across video/playable/static/DPA formats and a playable-ad spec; no disclosed randomized or allocation-based testing methodology found.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No official documentation of app/bundle-level reporting or block/allow-list controls for Axon Ads Manager advertisers was found (only MAX publisher-side policies were located).",
     "conditions": ""
    },
    "D6": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S05"
     ],
     "rationale": "Reporting API discloses a cost/spend column and bidding_and_billing_method (e.g. dCPI vs cDPM vs CPM); no impression- or bid-level clearing-price data documented.",
     "conditions": ""
    },
    "D7": {
     "score": 2,
     "availability": "managed",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S04"
     ],
     "rationale": "AppLovin's own blog describes running geo-holdout incrementality experiments for clients with a stated method (>=90% power, 20-50% holdout) -- available on request/managed, not a self-serve standardized product.",
     "conditions": ""
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S05"
     ],
     "rationale": "Reporting API returns aggregated JSON/CSV data across campaign/creative/platform/country/device/placement dimensions; no impression-level export documented.",
     "conditions": "45-day request window."
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S06"
     ],
     "rationale": "Axon Campaign Management API documents POST endpoints to create/update campaigns and creative sets and to set global or country-level budgets.",
     "conditions": "Confirmed for web/e-commerce advertisers; not independently confirmed for app-UA campaigns."
    },
    "D10": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S08",
      "V1-S09"
     ],
     "rationale": "Wurl/AppDiscovery CTV inventory is bought on a CPI basis with MMP attribution to installs; no stated causal/incrementality measurement method specific to CTV was documented.",
     "conditions": "US-centric case evidence (Kikoff, Picsart)."
    },
    "D11": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S01",
      "V1-S03",
      "V1-S09"
     ],
     "rationale": "FY2025 10-K states e-commerce/web-advertiser expansion as a stated objective; named non-gaming case studies include Safe Sleeve, Sweet Flexx and Kikoff (fintech); no filing-level quantification of non-gaming revenue share was found.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S01",
    "V1-S02",
    "V1-S03",
    "V1-S04",
    "V1-S05",
    "V1-S06",
    "V1-S07",
    "V1-S08",
    "V1-S09",
    "V1-S10"
   ]
  },
  {
   "group": "V1",
   "vendor_id": "moloco",
   "parent_org": "Moloco, Inc.",
   "products_in_scope": [
    "Moloco Ads",
    "Moloco Performance CTV"
   ],
   "roles": [
    "DSP",
    "CTV DSP"
   ],
   "ownership": {
    "status": "private",
    "source_ids": [
     "V1-S20"
    ],
    "note": "Most recent disclosed valuation is a >US$2B 2023 secondary share sale (per press); reported (Bloomberg, Jan 2026, via Investing.com syndication) to be in early-stage IPO-adviser discussions -- unconfirmed, still private at cutoff. Backers reported: Fidelity Management & Research, Tiger Global Management."
   },
   "financial_scale": "Not disclosed (private company; no filings)",
   "what_is_sold": "An ML/'compound AI' performance-advertising DSP for app install and post-install value optimization, extended to Performance CTV (household/IP-matched, MMP-attributed) and offered separately for retail/commerce media (Moloco Commerce Media, out of V1 scope).",
   "buyer_and_app_fit": "App marketers (gaming and non-gaming) needing ROAS/LTV-oriented bidding with SKAN support and a documented campaign-management + reporting API; also fits marketers wanting to extend the same measurement stack to CTV.",
   "economics": {
    "pricing_model": "oCPM (optimized cost-per-mille), dynamically priced per impression based on predicted value; advertiser-facing billing also referenced in CPA/CPI terms in campaign-goal configuration.",
    "minimums": "Performance CTV requires a minimum of $1K/day (per a search-derived, not independently opened, help-center source -- flagged for validation)",
    "source_ids": []
   },
   "data_requirements": "MMP postback integration (AppsFlyer, Adjust, Singular, Branch, Kochava) for event/ROAS optimization and re-engagement; SKAdNetwork conversion-value configuration read/written via the DSP API.",
   "supply_dependencies": "Owned/integrated Moloco SDK supply plus programmatic exchange access; CTV supply for Performance CTV (household/IP-matched private-IP inventory).",
   "measurable_controls": "Campaign/AdGroup CRUD API; Report API (aggregated); Log API (impression/click/conversion event-level, disabled by default, available on request); CreativeGroups (A/B-test structure) API.",
   "implementation_burden": "Moderate: requires MMP postback configuration and, for full log-level visibility, a specific request to enable the Log API (not on by default).",
   "proof_quality": [
    {
     "study_or_case": "Nexon (Performance CTV)",
     "who_ran_it": "Moloco, vendor case study",
     "design": "incrementality-focused framework per the case study's own description; not independently verified",
     "source_id": "V1-S11"
    },
    {
     "study_or_case": "Wayfair, Bevmo, Costco, Benjamin, Musinsa, Experian, FreeNow, ManoMano (non-gaming case studies)",
     "who_ran_it": "Moloco, vendor case studies",
     "design": "narrative case walkthroughs, no comparator disclosed on the case-studies index page",
     "source_id": "V1-S11"
    }
   ],
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "Ghost-bidding incrementality and ROAS/lift figures cited in vendor materials (e.g. '253%-1609%' incremental ROAS ranges referenced in search results but not independently opened this session) are vendor-reported and should not be treated as independently verified until the underlying methodology page is opened.",
    "Private company: financial scale, headcount and customer concentration are not independently disclosed."
   ],
   "poor_fit_use_cases": "Buyers needing a fully self-serve, always-on log-level data feed should note the Log API is disabled by default and requires a specific request.",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S17",
      "V1-S11"
     ],
     "rationale": "Developer API documents reading/writing SKAN conversion-value configuration and campaign goals spanning install/event/ROAS; case studies report ROAS-based outcomes across verticals.",
     "conditions": ""
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S14"
     ],
     "rationale": "Official page documents re-engagement audiences looking back up to 300 days and explicitly offers incrementality testing for re-engagement; a suppression/exclusion (Include/Exclude) feature was described only in a help-center page that returned HTTP 403 to this session's fetch tool and could not be independently verified, so it is not counted toward a score of 3.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S17"
     ],
     "rationale": "Developer API documents reading and updating SKAdNetwork conversion-value configuration and SKAN analytics; no AdAttributionKit mention was found.",
     "conditions": "iOS."
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S17"
     ],
     "rationale": "Developer API documents CreativeGroups supporting an A/B-test structure (a disclosed-allocation design); playable/interactive format coverage was referenced in secondary (help-center) sources not independently opened this session, so format-coverage is not counted toward a score of 3.",
     "conditions": ""
    },
    "D5": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S12"
     ],
     "rationale": "Brand Safety Policy documents a global block list plus customer-configurable inclusion/exclusion lists, and states advertisers receive 'transparent impression level reporting by publisher and exchange'.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No independently-opened documentation of a media-cost-vs-platform-fee breakdown was found this session (the relevant help-center pricing page returned HTTP 403); the Report API discloses total spend only.",
     "conditions": ""
    },
    "D7": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S13",
      "V1-S14"
     ],
     "rationale": "Official product pages document 'built-in' ghost-bidding incrementality testing for both Performance CTV and Re-engagement, describing a control-group method distinct from attribution, with results reporting.",
     "conditions": ""
    },
    "D8": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S15",
      "V1-S16"
     ],
     "rationale": "Report API provides aggregated dimensional data; Log API exports impression/click/conversion event-level records.",
     "conditions": "Log API is disabled by default and available only upon request to Moloco."
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S17"
     ],
     "rationale": "Developer API documents full campaign CRUD and AdGroup create/update/list operations, not only reporting.",
     "conditions": ""
    },
    "D10": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S13"
     ],
     "rationale": "Performance CTV documents a stated household/IP-matching identity method plus a built-in ghost-bidding causal measurement option, with attribution running through the advertiser's own MMP.",
     "conditions": ""
    },
    "D11": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S11"
     ],
     "rationale": "Case-studies page names >=8 non-gaming advertisers (Wayfair, Bevmo, Costco, Benjamin, Musinsa, Experian, FreeNow, ManoMano); Moloco is private and does not file, so no filing-level revenue quantification exists.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S11",
    "V1-S12",
    "V1-S13",
    "V1-S14",
    "V1-S15",
    "V1-S16",
    "V1-S17",
    "V1-S18",
    "V1-S19",
    "V1-S20"
   ]
  },
  {
   "group": "V1",
   "vendor_id": "liftoff",
   "parent_org": "Liftoff Mobile, Inc.",
   "products_in_scope": [
    "Liftoff Accelerate",
    "Liftoff Direct"
   ],
   "roles": [
    "DSP"
   ],
   "ownership": {
    "status": "public",
    "ticker": "LFTO",
    "source_ids": [
     "V1-S21",
     "V1-S28"
    ],
    "note": "IPO'd on Nasdaq 4 Jun 2026 at $23.00/share (~$437M raised); General Atlantic allocated ~1.3M shares in the offering. Widely reported to have been formed by Blackstone combining Liftoff and Vungle in 2021 and to remain Blackstone-controlled post-IPO, but this session's directly-opened sources only go as far as the 10-Q's reference to an unnamed 'primary private-equity sponsor' -- the specific Blackstone-as-controlling-shareholder claim should be treated as an unverified (though widely reported) lead pending confirmation against the S-1/424B4 prospectus itself, which this session's tools could not fully retrieve (43MB document)."
   },
   "financial_scale": {
    "basis": "filing",
    "figures": "Q2 2026 total revenue $219.5M; H1 2026 total revenue $425.1M (reported net, as agent, per revenue-recognition policy: 'the Company does not control the ad inventory'). Revenue disaggregated by geography only (US, APAC, EMEA, Other Americas) -- no DSP-vs-SDK-monetization product-line split disclosed. Adjusted EBITDA not disclosed in the 10-Q text retrieved.",
    "source_ids": [
     "V1-S21"
    ]
   },
   "what_is_sold": "A Cortex (ML)-powered DSP for app UA and re-engagement (Accelerate = broader self/managed access; Direct = curated direct-publisher access with account-team-driven optimization), billed to any of CPC/CPI/CPA/ROAS/pLTV KPIs.",
   "buyer_and_app_fit": "App marketers (gaming and non-gaming, per named case studies) wanting a single DSP spanning acquisition and re-engagement; Direct specifically fits buyers wanting curated premium publisher access over open-exchange buying.",
   "economics": {
    "pricing_model": "Not independently documented this session beyond KPI-based optimization (CPC/CPI/CPA/ROAS/pLTV); no fee/media-cost separation found.",
    "minimums": "not disclosed",
    "source_ids": []
   },
   "data_requirements": "MMP integration implied by SKAdNetwork-related 'Cortex models' and case-study references to incrementality testing; no specific S2S/MMP setup documentation was independently opened this session.",
   "supply_dependencies": "Direct: curated direct access to 150k+ publisher apps (per vendor claim); Accelerate: broader UA/re-engagement supply; SDK monetization / exchange supply sits in the separate Liftoff Monetize (Vungle Exchange) product, not scored here.",
   "measurable_controls": "Not independently documented this session (no Reporting API, campaign-management API, or app/placement block-list page could be opened; a 'Liftoff Reporting API' matching SKAN postback dimensions is referenced only in secondary sources).",
   "implementation_burden": "Not independently documented this session; Direct's positioning ('experienced account, creative, product and engineering teams work hand-in-hand') suggests a higher-touch, more managed implementation than a pure self-serve DSP.",
   "proof_quality": [
    {
     "study_or_case": "Delivery Hero",
     "who_ran_it": "Liftoff, vendor case study",
     "design": "cited as '20% install uplift in LATAM via incrementality testing'; method (geo/PSA/ghost) not disclosed on the case-studies index page",
     "source_id": "V1-S26"
    },
    {
     "study_or_case": "Binance",
     "who_ran_it": "Liftoff, vendor case study",
     "design": "narrative case walkthrough ('beats D7 ROAS goals by 30% in key markets'), no comparator disclosed",
     "source_id": "V1-S26"
    }
   ],
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "Reports revenue net as an agent per its 10-Q, which is a GAAP presentation choice, not itself an advertiser-facing cost-transparency feature -- do not conflate the two.",
    "Blackstone's specific ownership/control role could not be confirmed from a directly-opened primary source this session (see ownership note); treat as unverified pending confirmation."
   ],
   "poor_fit_use_cases": "Buyers requiring documented self-serve campaign-management APIs, log-level reporting, app/placement block-lists, or a CTV-to-app product should not assume these exist based on evidence gathered this session (all scored n/e).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S22"
     ],
     "rationale": "Official Accelerate page states the Cortex-powered product suite lets advertisers 'directly optimize for any type of KPI (CPC, CPI, CPA, ROAS, pLTV)'.",
     "conditions": ""
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S25"
     ],
     "rationale": "Official re-engagement page documents a data-driven approach intended to avoid cannibalizing organic conversions, with claimed lift/cost figures; no suppression/exclusion mechanism or holdout/incrementality methodology is documented on the page itself.",
     "conditions": ""
    },
    "D3": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S22",
      "V1-S27"
     ],
     "rationale": "SKAdNetwork is named as a supported use case and 'SKAdNetwork Cortex models' were announced for late 2024, but no conversion-value/postback mechanics or AdAttributionKit support were documented in pages opened this session.",
     "conditions": "iOS."
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No official page describing a specific creative-testing design (randomized/disclosed allocation) was independently opened this session.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No official documentation on app/placement-level reporting or block/allow-list controls for Accelerate/Direct advertisers was independently opened this session.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No official pricing/fee-transparency documentation was independently opened this session; the 10-Q's net-revenue-as-agent disclosure is a financial-reporting fact, not an advertiser-facing cost breakdown.",
     "conditions": ""
    },
    "D7": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S26"
     ],
     "rationale": "A named case study (Delivery Hero) reports a '20% install uplift in LATAM via incrementality testing', implying an available incrementality-testing service, but the test method (geo/PSA/ghost) is not disclosed in the page content retrieved.",
     "conditions": ""
    },
    "D8": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "A 'Liftoff Reporting API' matching Apple's SKAN postback dimensions is referenced only in secondary/search-derived sources that could not be independently opened this session (guessed documentation URLs returned HTTP 404).",
     "conditions": ""
    },
    "D9": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No self-serve or campaign-management API documentation was independently opened this session; Direct's own page emphasizes account-team-driven management, suggesting a managed rather than self-serve model, but this is not conclusive for the whole product line.",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [
      "V1-S24"
     ],
     "rationale": "No CTV product is mentioned on Liftoff Monetize's own page; absence from a marketing page is not the same as documented absence of any CTV product, so this is scored n/e rather than 0.",
     "conditions": ""
    },
    "D11": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S26"
     ],
     "rationale": "Case-studies page names >=8 non-gaming advertisers/publishers (Delivery Hero, PrizePicks, Binance, Character.AI, Co-op Group, Audiomack, Moovit, BeSoccer); no filing-level non-gaming revenue split is disclosed (10-Q reports revenue by geography only).",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S21",
    "V1-S22",
    "V1-S23",
    "V1-S24",
    "V1-S25",
    "V1-S26",
    "V1-S27",
    "V1-S28"
   ]
  },
  {
   "group": "V1",
   "vendor_id": "unity",
   "parent_org": "Unity Software Inc.",
   "products_in_scope": [
    "Unity Ads User Acquisition",
    "LevelPlay mediation"
   ],
   "roles": [
    "ad network",
    "mediation",
    "DSP-like UA"
   ],
   "ownership": {
    "status": "public",
    "ticker": "U",
    "source_ids": [
     "V1-S29"
    ],
    "note": "Grow Solutions is one of two Unity segments (alongside Create Solutions, the game-engine business); Vector, Unity's ML engine for Grow, rolled out in Q1 2025 per the FY2025 10-K."
   },
   "financial_scale": {
    "basis": "filing",
    "figures": "FY2025 total company revenue $1,849.648M (FY2024: $1,813.255M); FY2025 adjusted EBITDA $408.831M (22% margin). Q4 2025 (quarter only) segment split: Grow Solutions $338M vs Create Solutions $165M -- full-year Grow-vs-Create split was not disclosed in the press release retrieved.",
    "source_ids": [
     "V1-S30"
    ]
   },
   "what_is_sold": "Unity Ads UA (install/retention/ROAS bidding) plus LevelPlay mediation (auctioning Unity Ads and third-party networks/bidders for publishers), positioned as an integrated developer-ecosystem growth stack.",
   "buyer_and_app_fit": "Primarily game developers within the Unity/ironSource ecosystem; non-gaming vertical claims found in Unity's FY2025 10-K describe the separate Create Solutions/engine business (automotive, retail, healthcare etc.), not the Grow/advertising product -- do not inherit one onto the other.",
   "economics": {
    "pricing_model": "Not independently documented beyond bid types (Install/CPI, Retention, ROAS target); no separate fee/media-cost breakdown found.",
    "minimums": "not disclosed",
    "source_ids": [
     "V1-S33"
    ]
   },
   "data_requirements": "SKAdNetwork conversion-value/postback integration documented at an overview level; no AdAttributionKit or explicit SKAN-version mention found in pages opened this session.",
   "supply_dependencies": "Unity Ads network plus Unity Exchange (via a single SDK, per the Unity Ads product page); LevelPlay mediates Unity Ads and third-party bidding networks for publishers.",
   "measurable_controls": "Reporting dashboard, 'History and Performance' tool, CSV export, and a documented Advertising Management API plus an Advertising Statistics API (services.docs.unity.com).",
   "implementation_burden": "Not independently documented in detail; a single SDK is described for connecting to Unity Ads/Unity Exchange.",
   "proof_quality": [
    {
     "study_or_case": "Lihuhu, Qcplay (Unity Ads product page)",
     "who_ran_it": "Unity, vendor case references",
     "design": "narrative references without disclosed methodology; both are gaming studios",
     "source_id": "V1-S32"
    }
   ],
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "A seed-file lead reports the standalone ironSource Ads direct-demand network was sunset in April 2026 (LevelPlay mediation and the ironSource Exchange said to be unaffected) -- this could not be confirmed via a directly-opened Unity source this session and is flagged as unverified in the universe row.",
    "Do not carry Unity's Create-Solutions non-gaming vertical language over to the Grow/advertising product -- no non-gaming case study for Unity Ads/LevelPlay was found this session."
   ],
   "poor_fit_use_cases": "Buyers needing demonstrated non-gaming case studies, re-engagement/retargeting, CTV-to-app, incrementality testing, or app/placement transparency for the ad product should not assume these exist based on evidence gathered this session (all scored n/e).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S33"
     ],
     "rationale": "Official documentation defines and lets advertisers configure Install (CPI) bids, Retention bids, and ROAS targets.",
     "conditions": ""
    },
    "D2": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No documentation of a retargeting/re-engagement campaign product for Unity Ads advertisers was found or independently opened this session.",
     "conditions": ""
    },
    "D3": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S35"
     ],
     "rationale": "Privacy-compliance documentation confirms SKAdNetwork coverage (conversion values, ad-slot limits, dashboard support, postback integration) at an overview level, but no specific SKAN version (4 vs earlier) or AdAttributionKit mention was found in the pages retrieved.",
     "conditions": "iOS."
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S32"
     ],
     "rationale": "Product page documents 'creative testing campaigns' comparing pack performance across metrics; no disclosed randomized-allocation methodology was found.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No app/placement-level reporting or block/allow-list documentation for Unity Ads UA advertisers was found; LevelPlay's 'Ad Quality' feature concerns publisher-side ad review, not advertiser-facing placement transparency.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No fee/pricing-transparency documentation was found or independently opened this session.",
     "conditions": ""
    },
    "D7": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No incrementality/holdout documentation for Unity Ads UA was found this session.",
     "conditions": ""
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S34"
     ],
     "rationale": "Reporting/analytics documentation lists a dashboard, History and Performance tool, CSV export, and REST APIs; no confirmation of log-level (vs aggregated) granularity was found.",
     "conditions": ""
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S34"
     ],
     "rationale": "Documentation links to a distinct Advertising Management API (services.docs.unity.com/advertise/v1/) alongside the Statistics API, indicating a documented campaign-management API rather than reporting-only access.",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No CTV product documented for Unity Ads/Grow was found this session.",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [
      "V1-S29"
     ],
     "rationale": "Non-gaming vertical claims in the FY2025 10-K (automotive, retail, healthcare etc.) describe the Create Solutions/engine business, not Grow/advertising; no non-gaming case study for Unity Ads/LevelPlay specifically was found this session, so the engine-business claim is not carried over.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S29",
    "V1-S30",
    "V1-S31",
    "V1-S32",
    "V1-S33",
    "V1-S34",
    "V1-S35",
    "V1-S36"
   ]
  },
  {
   "group": "V1",
   "vendor_id": "mintegral-mobvista",
   "parent_org": "Mobvista Limited (HKEX: 1860)",
   "products_in_scope": [
    "Mintegral (AppGrowth, Retargeting, Monetization)"
   ],
   "roles": [
    "DSP",
    "ad network",
    "ADX",
    "SSP"
   ],
   "ownership": {
    "status": "subsidiary",
    "parent": "Mobvista Limited (HKEX: 1860, public parent)",
    "source_ids": [
     "V1-S37"
    ],
    "note": "Mintegral is not itself separately listed; it is Mobvista's core Ad-tech platform. A prior external report (Bain Capital sale interest, later reported stalled -- an unverified lead carried from the seed file, not independently found in the H1 2026 interim report text retrieved this session) should be treated as an unconfirmed watch item pending a primary-source check."
   },
   "financial_scale": {
    "basis": "filing",
    "figures": "H1 2026 group revenue US$1,155.542M (H1 2025: US$938.111M, +23.2% YoY); group net revenue US$308.458M. Ad-tech segment (Mintegral-centred) revenue US$1,146.573M = 99.2% of group revenue. The report's narrative section separately states 'Mintegral recorded revenue of US$1,115.2 million' (+24.3% YoY, 96.5% of group revenue) -- both figures are quoted as given in the filing; the small discrepancy likely reflects slightly different scoping (Ad-tech segment total vs Mintegral-platform-specific) and was not further reconciled this session. Non-gaming revenue +15.5% YoY = 24.4% of Mintegral revenue; gaming +27.5% YoY = 75.6% of Mintegral revenue.",
    "source_ids": [
     "V1-S37"
    ]
   },
   "what_is_sold": "A programmatic in-app advertising platform (AppGrowth for UA, Retargeting for re-engagement, Monetization for publishers) with AI/smart bidding (Target ROAS spanning IAA/IAP/Hybrid, and Target CPE) plus an in-house creative studio (Mindworks) and playable-ad automation (Playturbo).",
   "buyer_and_app_fit": "Predominantly gaming advertisers (75.6% of Mintegral H1 2026 revenue) with a growing non-gaming share (24.4%, +15.5% YoY, incl. e-commerce and utilities per the interim report's own vertical breakdown).",
   "economics": {
    "pricing_model": "Performance-based (implied CPI/CPA/CPM per the interim report's revenue-recognition language); Target ROAS and Target CPE are the named smart-bidding products, together >90% of Mintegral revenue.",
    "minimums": "not disclosed",
    "source_ids": [
     "V1-S37",
     "V1-S39"
    ]
   },
   "data_requirements": "Postback-based data sharing for retargeting (per the official Retargeting page); no SKAdNetwork-specific documentation was independently located this session.",
   "supply_dependencies": "Direct publisher/app relationships (10,000+ developers, 120,000+ apps per the interim report) plus programmatic DSP/ADX/SSP coverage of the mid-stream ecosystem.",
   "measurable_controls": "A 'self-serve platform' for setting IAA ROAS goals is explicitly named in the H1 2026 interim report; no reporting API or app/placement-level transparency/block-list documentation was independently located this session.",
   "implementation_burden": "Not independently documented in detail this session beyond the self-serve ROAS-goal-setting claim.",
   "proof_quality": [
    {
     "study_or_case": "Winedrops (e-commerce)",
     "who_ran_it": "Mintegral, vendor case/testimonial",
     "design": "narrative testimonial ('10X increase in trials'), no comparator disclosed",
     "source_id": "V1-S41"
    }
   ],
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "A prior-year press report of Bain Capital sale interest in the Mintegral unit (then reported stalled) is an unconfirmed lead from outside this session's directly-opened sources -- flagged as a watch item, not a fact.",
    "Group financial reporting nets out publisher traffic-acquisition cost ('net revenue'); gross Ad-tech revenue (US$1,146.6M) is >3.7x net revenue (US$308.5M) for H1 2026, meaning the bulk of gross revenue is passed through to traffic publishers -- important context for interpreting Mintegral's 'scale'."
   ],
   "poor_fit_use_cases": "Buyers requiring documented SKAdNetwork/AdAttributionKit specifics, a reporting API, app/placement block-lists, incrementality testing, or a CTV product should not assume these exist based on evidence gathered this session (all scored n/e).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S37",
      "V1-S39"
     ],
     "rationale": "H1 2026 interim report (filing) states smart-bidding products (IAA ROAS since May 2023, Target CPE since Jul 2024, Hybrid ROAS since Apr 2025, IAP ROAS since Jul 2025) account for >90% of Mintegral revenue; official AppGrowth page documents Target ROAS and Target CPE as selectable models.",
     "conditions": ""
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S40"
     ],
     "rationale": "Official Retargeting page documents postback-based re-engagement of active/dormant/lapsed users; no suppression/exclusion control or holdout/incrementality option is documented.",
     "conditions": ""
    },
    "D3": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No SKAdNetwork documentation was found on the official marketing pages accessible this session; the developer wiki (dev.mintegral.com) exists but its SKAN-specific pages could not be located within this session's fetch budget.",
     "conditions": ""
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S38",
      "V1-S42"
     ],
     "rationale": "Mindworks (in-house creative studio) and Playturbo (playable-ad automation) are documented; no disclosed randomized/allocation testing methodology was found.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No app/placement-level reporting or block/allow-list documentation for advertisers was found this session; the Monetization page addresses publisher-side revenue optimization, not advertiser controls.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No advertiser-facing fee/pricing-transparency documentation was found; the interim report's 'net revenue' definition (deducting publisher traffic-acquisition cost) is a group financial-reporting measure, not an advertiser-facing cost breakdown.",
     "conditions": ""
    },
    "D7": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No incrementality/holdout documentation was found this session.",
     "conditions": ""
    },
    "D8": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No reporting-API or log-level-export documentation was located this session (relevant help-center and developer-wiki pages could not be found/opened within budget).",
     "conditions": ""
    },
    "D9": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S37"
     ],
     "rationale": "H1 2026 interim report (filing) states advertisers 'set their IAA ROAS goals on the Mintegral self-serve platform' -- filing-level confirmation of self-serve UI; no campaign-management API was documented.",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No CTV product for Mintegral was found this session.",
     "conditions": ""
    },
    "D11": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S37",
      "V1-S41"
     ],
     "rationale": "H1 2026 interim report (filing) discloses non-gaming revenue at 24.4% of Mintegral revenue (+15.5% YoY) versus gaming at 75.6% (+27.5% YoY) -- filing-level quantification of material non-gaming revenue -- plus a named non-gaming case study (Winedrops, e-commerce).",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S37",
    "V1-S38",
    "V1-S39",
    "V1-S40",
    "V1-S41",
    "V1-S42"
   ]
  },
  {
   "group": "V1",
   "vendor_id": "digital-turbine",
   "parent_org": "Digital Turbine, Inc.",
   "products_in_scope": [
    "DT Exchange",
    "App Growth Platform (AGP)",
    "DT ignite / On Device Solutions (ODS)"
   ],
   "roles": [
    "ad network",
    "exchange",
    "mediation",
    "OEM/on-device distribution"
   ],
   "ownership": {
    "status": "public",
    "ticker": "APPS",
    "source_ids": [
     "V1-S43"
    ],
    "note": "Fiscal year ends 31 March. Two reportable segments: On Device Solutions (ODS) and App Growth Platform (AGP, comprising Advertising Solutions and Ad Monetization Solutions)."
   },
   "financial_scale": {
    "basis": "filing",
    "figures": "FY2026 (ended 31 Mar 2026) net revenue $565.3M (+15% YoY from $490.5M): ODS $382.4M (+12% YoY), AGP $185.7M (+21% YoY). FY2026 adjusted EBITDA $122.5M (+69% YoY from $72.3M).",
    "source_ids": [
     "V1-S44"
    ]
   },
   "what_is_sold": "AGP: an advertiser/DSP-facing exchange (DT Exchange) plus offerwall/ACP Edge incentivized-UA products with self-serve 'Micro Bidding'; ODS: OEM/carrier on-device app-discovery and preload distribution (ignite lineage), a distinct role from AGP's advertising products.",
   "buyer_and_app_fit": "Advertisers seeking CPI/CPE/CPA/ROAS-billed UA with real-time self-serve bid control by country/source app; publishers seeking mediation (DT FairBid) and offerwall monetization; not demonstrated as offering CTV, re-engagement/retargeting, or a self-serve incrementality product.",
   "economics": {
    "pricing_model": "CPI / CPE / CPA billing models; ROAS = Advertiser IAP Revenue / Advertiser Spend, reported at D3/D7/D30.",
    "minimums": "not disclosed",
    "source_ids": [
     "V1-S46"
    ]
   },
   "data_requirements": "MMP guides documented for AppsFlyer, Adjust, Singular, Kochava, Branch, and Tenjin; SKAdNetwork bid-request support documented including version 4.0 (sourceidentifier field); no AdAttributionKit mention found.",
   "supply_dependencies": "DT Exchange in-app supply plus ODS OEM/carrier preload placements (ignite); offerwall supply via ACP Edge.",
   "measurable_controls": "DT Console self-serve 'Micro Bidding' (real-time bid adjustment by country/source app); Blocked Apps Tool (advertiser/product/campaign-level app blocking); DT Offer Suppression (excludes existing installers); Buyer's Report (avg. bid price); DT Exchange Reporting API / User Level Reporting API (aggregated, async report files); per-impression SDK ImpressionData callbacks (demandSource, pricing/netPayout) on the publisher side.",
   "implementation_burden": "Moderate: DT Console self-serve bidding plus MMP integration for cost-data enablement (AppsFlyer/Adjust) and campaign attribution.",
   "proof_quality": [
    {
     "study_or_case": "Magazine Luiza, Kenvue (Stayfree), Co-operative Group (non-gaming case studies)",
     "who_ran_it": "Digital Turbine, vendor case studies",
     "design": "narrative case walkthroughs, no comparator disclosed",
     "source_id": "V1-S45"
    },
    {
     "study_or_case": "Experimenting with Placements",
     "who_ran_it": "Digital Turbine documentation",
     "design": "control-group ('holdout-like') vs variant-group comparison for placement changes; explicitly not documented as a re-engagement/retargeting incrementality product",
     "source_id": "V1-S46"
    }
   ],
   "switching_limits": "Not independently documented this session.",
   "risks": [
    "FY2026 10-K states significant indebtedness as a risk factor (exact covenant terms not retrieved this session).",
    "AGP is the smaller of the two segments ($185.7M vs ODS $382.4M in FY2026); buyers should not assume DT Exchange/AGP scale matches Digital Turbine's total company scale, most of which is OEM/carrier distribution (ODS), a different role."
   ],
   "poor_fit_use_cases": "Buyers needing re-engagement/retargeting, disclosed creative-testing methodology, log-level buyer-side reporting, or a CTV product should not assume these exist based on evidence gathered this session (all scored n/e).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Documentation defines ROAS (Advertiser IAP Revenue / Advertiser Spend, D3/D7/D30) and documents CPI/CPE/CPA billing models for advertiser campaigns.",
     "conditions": ""
    },
    "D2": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No dedicated re-engagement/retargeting campaign-product documentation was found this session; only a generic statement that MMP integrations can trigger postbacks before app launch.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Bid-request documentation confirms SKAdNetwork version support 'including 4.0' with the sourceidentifier field for SKAN 4.0+, but conversion-value/fine-vs-coarse/crowd-anonymity mechanics and AdAttributionKit are not documented in the pages found this session.",
     "conditions": "iOS."
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No creative-testing documentation with a disclosed method was found this session; case studies reference 'creative innovation' without method.",
     "conditions": ""
    },
    "D5": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Documentation describes a Blocked Apps Tool (block apps at advertiser/product/campaign level) and DT Offer Suppression (excludes existing installers), combined with a Buyer's Report exposing average bid price.",
     "conditions": ""
    },
    "D6": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Buyer's Report documents average-bid-price visibility to advertisers, and cost-data integration with AppsFlyer/Adjust is documented -- a partial media-cost/fee separation, short of full impression-level clearing-price data.",
     "conditions": ""
    },
    "D7": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Documentation describes 'Experimenting with Placements' using a control-group benchmark, but explicitly states no dedicated holdout/incrementality documentation exists for re-engagement/retargeting specifically.",
     "conditions": ""
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Reporting API returns async, aggregated report files; impression-level pricing data is exposed via SDK callbacks (ImpressionData) to publishers, not documented as a buyer-side log-level export product.",
     "conditions": ""
    },
    "D9": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V1-S46"
     ],
     "rationale": "Documentation describes self-serve 'Micro Bidding' letting advertisers adjust bids by country/source app in real time via the DT Console; no dedicated campaign-management API for advertisers was found (DT Exchange for DSPs concerns third parties bidding into DT supply, not DT's own buy-side API).",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No CTV product was found in Digital Turbine documentation reviewed this session.",
     "conditions": ""
    },
    "D11": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V1-S45"
     ],
     "rationale": "Case studies name non-gaming advertisers/publishers including Magazine Luiza, Kenvue (Stayfree), Co-operative Group, Moovit, 365Scores, OneFootball; FY2026 filing discloses AGP segment revenue ($185.7M) but does not break out gaming vs non-gaming within it.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V1-S43",
    "V1-S44",
    "V1-S45",
    "V1-S46"
   ]
  },
  {
   "group": "V2",
   "vendor_id": "kayzen",
   "parent_org": "Ioniq Group",
   "products_in_scope": [
    "Kayzen DSP",
    "kAI Suite"
   ],
   "roles": [
    "DSP"
   ],
   "ownership": "Private. Kayzen operates under parent Ioniq Group; Shackleton Ventures states its Victoria Fund 'acquired its interest in Ioniq Group, the parent company of Kayzen, in 2024' (V2-S03, an investor/vendor case-study page, not a filing — medium confidence). No IPO or further M&A found.",
   "financial_scale": "not disclosed (no filings; third-party revenue/funding aggregator figures excluded as unverifiable this session)",
   "what_is_sold": "A mobile-first, self-serve programmatic DSP for user acquisition, retargeting, and 'brand performance' campaigns, sold to apps, agencies, media buyers and eCommerce advertisers; includes a 'kAI Suite' layer described in seed materials as adding bid-shading/conversion-prediction (not independently re-verified this session).",
   "buyer_and_app_fit": "Best fit: in-house UA teams and agencies wanting direct, self-serve programmatic control with API-level access. Documented named case study base is thin (one non-gaming case — Greggs, UK bakery/food-retail — found this session); no gaming case studies were surfaced.",
   "economics": "Pricing model not documented in sources opened this session (no CPI/CPA/CPM/fee-schedule found); minimums not documented.",
   "data_requirements": "MMP postback integration documented for AppsFlyer (V2-S05: event/postback configuration and dashboard-permission setup); no audience-segment or suppression-list mechanism found in that same integration guide.",
   "supply_dependencies": "In-app and mobile-web inventory across 'hundreds of thousands' of publisher apps/sites per the product page (V2-S02); no CTV inventory found or claimed.",
   "measurable_controls": "Campaign-management API confirmed (edit target bid, daily/total budget, bid multipliers by targeting field, pause/resume status; V2-S04) plus a separate read-only Reporting API.",
   "implementation_burden": "Self-serve API/dashboard model per the product page, implying buyer-side setup and ongoing campaign management; managed option also offered per the product page ('leverages its intuitive platform for managed clients and offers it to self-service users') but not detailed further.",
   "proof_quality": "Single named non-gaming case study located (Greggs, via investor Shackleton Ventures, V2-S03) — no comparator or study design disclosed; treat as a vendor/investor case study, not an independent measurement.",
   "switching_limits": "Not documented this session.",
   "risks": "Ownership chain (Ioniq Group / Shackleton Victoria Fund) rests on a single secondary source (an investor's own case-study page) rather than a filing or Kayzen's own statement — flagged as medium-confidence and worth re-verification. No conflicts of interest identified.",
   "poor_fit_use_cases": "Buyers requiring CTV-to-app linkage (no CTV product found — Kayzen's 'Video+' is confirmed to be an in-app mobile-video format, not CTV) or requiring documented incrementality/holdout testing (none found this session).",
   "scores": {
    "D1": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S02"
     ],
     "rationale": "Product page documents post-install/'conversion event' optimization; ROAS language exists in seed-carried 'kAI Suite' claims but no technical doc confirming live ROAS/LTV bidding was opened this session.",
     "conditions": "global, both OS"
    },
    "D2": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S02"
     ],
     "rationale": "Retargeting listed as a use case on the product page, but the one integration guide opened (AppsFlyer, V2-S05) documents only postback/event setup, not audience-based re-engagement mechanics.",
     "conditions": "global, both OS"
    },
    "D3": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [
      "V2-S01"
     ],
     "rationale": "Help-centre index references SKAN campaigns generically; no SKAN-4-specific or AdAttributionKit documentation was opened this session.",
     "conditions": ""
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S02"
     ],
     "rationale": "Documents a proprietary 'Video+' interactive/fullscreen-video creative format and 'all major creative formats'; no disclosed testing design (split/randomized) or playable-specific format confirmed.",
     "conditions": "in-app + mobile web"
    },
    "D5": {
     "score": 1,
     "availability": "unconfirmed",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S02"
     ],
     "rationale": "'Transparency and real-time control' is a headline claim; no app/bundle-level reporting or block/allow-list detail was found in sources opened this session.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No fee schedule or cost-breakdown documentation found this session.",
     "conditions": ""
    },
    "D7": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No holdout/incrementality product documentation found for Kayzen this session (distinct from Jampp's and Remerge's documented methods).",
     "conditions": ""
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S04"
     ],
     "rationale": "Help-centre API documentation explicitly describes a read-only Reporting API for programmatic access to campaign performance data (aggregated); no log-level/impression-level export confirmed.",
     "conditions": "requires API access setup"
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S04"
     ],
     "rationale": "Help-centre API documentation directly describes campaign-management endpoints: edit target bid, daily/total budget, bid multipliers, and pause/resume campaign or creative status.",
     "conditions": "requires API access setup"
    },
    "D10": {
     "score": "n/a",
     "availability": "unconfirmed",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S02"
     ],
     "rationale": "No CTV product found or claimed; product page confirms no Connected TV mention. Consistent with the seed's own note that 'Video+' is in-app mobile video, not CTV.",
     "conditions": ""
    },
    "D11": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S03"
     ],
     "rationale": "Only one named non-gaming case study found (Greggs, UK food retail) — below the two-case threshold for score 2.",
     "conditions": "UK"
    }
   },
   "sources": [
    "V2-S01",
    "V2-S02",
    "V2-S03",
    "V2-S04",
    "V2-S05"
   ]
  },
  {
   "group": "V2",
   "vendor_id": "smadex",
   "parent_org": "Entravision Communications Corporation (NYSE: EVC)",
   "products_in_scope": [
    "Smadex DSP"
   ],
   "roles": [
    "DSP",
    "managed service"
   ],
   "ownership": "Wholly owned subsidiary within Entravision's Advertising Technology & Services (ATS) segment. Entravision acquired Smadex in 2018 and retained it through the company's 2024-2025 divestiture of its separate digital ad-representation business (sold to Aleph) — this 2018/2024-25 history is carried from the seed and not re-verified this session; the FY2025 10-K (V2-S08) independently confirms current segment placement and FY2025 economics.",
   "financial_scale": "ATS segment (Smadex + Adwake) was approximately 61% of Entravision's FY2025 total net revenue of $447.6M — implying roughly $273M, though the 10-K does not break out Smadex alone from Adwake within ATS (derived figure, not a disclosed line item).",
   "what_is_sold": "A fully managed, proprietary DSP service: Entravision's own description is that Smadex teams 'act as an extension of our client's marketing team,' configuring bidding parameters and managing fraud-prevention protocols on the client's behalf, for mobile user acquisition, retargeting, and Connected TV performance campaigns, processing 'approximately 500 billion bid requests per day.'",
   "buyer_and_app_fit": "Filing states customers are 'primarily developers of mobile games, fintech apps, and entertainment services' seeking global user acquisition — best fit for buyers wanting a hands-off, managed-service DSP rather than self-serve control; not a fit for buyers who require direct campaign-level API access.",
   "economics": "Pricing model (CPI/CPA/CPM/%-of-spend) not disclosed in the filing text reviewed; performance-based framing implied ('advertisers pay only for specific, measurable actions') but no rate card or minimum spend found.",
   "data_requirements": "Not detailed in the filing sections reviewed (MMP/S2S/SKAN setup specifics not disclosed).",
   "supply_dependencies": "Filing describes Smadex as buying 'advertising inventory in mobile apps, mobile websites and internet-connected televisions (Connected TVs)' in real time via proprietary AI — an exchange-buying model rather than owned/direct SDK supply, per the filing's own framing ('a gateway to the rest of the internet').",
   "measurable_controls": "Not disclosed in the filing text reviewed; the managed-service framing (teams configure on the client's behalf) implies the buyer does not directly operate a self-serve UI or API, but the filing does not explicitly rule out client-facing reporting access.",
   "implementation_burden": "Low buyer-side operational burden by design — Smadex is explicitly positioned as doing the console-level work for the client (managed-service model) rather than requiring in-house trafficking.",
   "proof_quality": "No named advertiser case studies or third-party study reviewed this session (smadex.com's own product/technology pages returned no readable content via WebFetch — JavaScript-rendered site); all proof in this profile traces to the FY2025 10-K's own descriptive text, which does not include case studies.",
   "switching_limits": "Not documented this session.",
   "risks": "None identified beyond standard managed-service opacity (buyer cedes bidding/fraud-control configuration to Entravision's team, per the filing's own description) — no allegations or litigation found.",
   "poor_fit_use_cases": "Buyers requiring self-serve campaign control, log-level bid data, or a published fee schedule — none of these were found documented; the model is explicitly managed-only per the filing.",
   "scores": {
    "D1": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S08"
     ],
     "rationale": "Filing describes proprietary AI calculating 'the precise value of a specific ad placement for a specific advertiser' and performance-based, action-based pricing — documents post-install/event-level optimization; filing text reviewed does not use explicit 'ROAS' or 'LTV' terminology, so not scored 3.",
     "conditions": "global"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S08"
     ],
     "rationale": "Filing explicitly names retargeting ('re-engaging users who have previously installed an app but have since stopped using it') as a core Smadex capability; no suppression/exclusion or holdout-for-re-engagement detail found.",
     "conditions": "global"
    },
    "D3": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "The 10-K text reviewed does not address SKAN or AdAttributionKit; Smadex's own technical pages could not be read via WebFetch this session (JS-rendered).",
     "conditions": ""
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not addressed in the filing text reviewed.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not addressed in the filing text reviewed.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No fee schedule or media-cost-vs-fee breakdown disclosed in the filing text reviewed.",
     "conditions": ""
    },
    "D7": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not addressed in the filing text reviewed.",
     "conditions": ""
    },
    "D8": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not addressed in the filing text reviewed; managed-service framing makes a buyer-facing export product plausible but unconfirmed.",
     "conditions": ""
    },
    "D9": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S08"
     ],
     "rationale": "Direct filing quote: Smadex teams 'act as an extension of our client's marketing team. Our teams configure bidding parameters, manage fraud prevention protocols' — buyer does not directly change campaigns.",
     "conditions": "global"
    },
    "D10": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S08"
     ],
     "rationale": "Filing confirms CTV inventory buying is a real, named capability ('transforms television from a broad branding tool into a precise performance channel') but does not state an identity method (deterministic/probabilistic/household) or MMP-based app-outcome reporting mechanism — scored as announced/claimed rather than 2 or 3.",
     "conditions": "global"
    },
    "D11": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V2-S08"
     ],
     "rationale": "Filing names fintech and entertainment-services customers alongside mobile games — establishes non-gaming focus as a claim, but does not name ≥2 specific non-gaming advertisers/case studies as the anchor for score 2 requires.",
     "conditions": "global"
    }
   },
   "sources": [
    "V2-S08"
   ]
  },
  {
   "group": "V2",
   "vendor_id": "remerge",
   "parent_org": "none disclosed (independent)",
   "products_in_scope": [
    "Remerge DSP"
   ],
   "roles": [
    "DSP",
    "retargeting"
   ],
   "ownership": "Not publicly disclosed this session (no filing, funding round, or M&A event found in sources opened). Independent, founder-led per prior public record (not re-verified). AppsFlyer named Remerge an official Premier Partner effective 2025-05-13 (V2-S06) — a partner-tier designation, not an ownership fact.",
   "financial_scale": "not disclosed",
   "what_is_sold": "An app-retargeting-specialist DSP: re-engagement/reactivation campaigns for gaming, e-commerce, delivery, and finance apps, explicitly combining 'fully managed service capabilities alongside programmatic advertising' (V2-S06) rather than positioning as purely self-serve.",
   "buyer_and_app_fit": "Ranked by AppsFlyer's Performance Marketing Index as a top retargeting DSP for Android gaming and among the top 6 e-commerce DSPs globally (V2-S06) — vendor-cited third-party ranking, best read as a relative-performance signal within AppsFlyer's own panel, not a market-wide claim.",
   "economics": "Pricing model not documented in sources opened this session.",
   "data_requirements": "AppsFlyer integration is central to the partnership and to Remerge's own audience/'Audiences' feature (referenced in prior search results, not independently re-opened this session); MMP dependency implied but not detailed here.",
   "supply_dependencies": "Not documented this session (in-app supply implied by the retargeting-DSP positioning; no exchange/SDK detail found).",
   "measurable_controls": "Own materials (V2-S07) describe three named incrementality-testing designs — Ghost Bids (adapted Ghost Ads for retargeting, removing devices not seen on exchanges from the analysis), PSA ads (control group sees public-service-style ads), and intent-to-treat/holdout (control group sees no campaign ads) — framed as criteria for evaluating a DSP; the same article does not unambiguously state all three are available to every Remerge client as a self-serve product versus offered case-by-case.",
   "implementation_burden": "Described as a 'fully managed service' by Remerge's own May 2025 announcement (V2-S06), implying lower buyer-side operational burden but also less direct self-serve control.",
   "proof_quality": "AppsFlyer Performance Marketing Index rankings (vendor-cited, third-party panel) are the only proof points found this session; no named advertiser case study with design/comparator was opened.",
   "switching_limits": "Not documented this session.",
   "risks": "Seed materials (not re-verified this session) note a technology partnership between Remerge and Verve Group on on-device bidding — a collaboration, not an ownership link; flagged here given the author's Verve scrutiny requirement, though this session found no evidence bearing on that partnership either way.",
   "poor_fit_use_cases": "Buyers seeking pure user-acquisition (top-of-funnel) scale rather than retargeting — Remerge's own positioning and AppsFlyer rankings are retargeting-specific; UA breadth not documented this session.",
   "scores": {
    "D1": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No document opened this session states Remerge's specific bidding-objective mechanics (install/CPA/ROAS/LTV) for its retargeting campaigns.",
     "conditions": ""
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S06"
     ],
     "rationale": "Remerge's core, AppsFlyer-recognized business is documented re-engagement campaigns built on MMP (AppsFlyer) integration and audience data; no suppression/exclusion-list documentation found to support score 3.",
     "conditions": "primarily Android gaming, e-commerce, delivery, finance verticals per the AppsFlyer ranking context"
    },
    "D3": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No SKAN 4 or AdAttributionKit documentation found for Remerge this session.",
     "conditions": ""
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No creative-workflow documentation found this session.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No app/placement-level reporting documentation found this session.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No fee-schedule documentation found this session.",
     "conditions": ""
    },
    "D7": {
     "score": 2,
     "availability": "limited",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S07"
     ],
     "rationale": "Own blog names and defines three specific holdout/incrementality designs (Ghost Bids, PSA, intent-to-treat) — meets the anchor's 'documented holdout/lift method' bar, but the framing reads as educational/criteria-setting rather than an explicit statement that all three are offered as a standardized, self-serve product with results reporting to every client, so not scored 3.",
     "conditions": "method availability (on-request vs. standard) not specified"
    },
    "D8": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No reporting-export documentation found this session.",
     "conditions": ""
    },
    "D9": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S06"
     ],
     "rationale": "Remerge's own May 2025 announcement states it offers 'fully managed service capabilities alongside programmatic advertising' — managed model emphasized; no self-serve UI or campaign-management API documentation found to support a higher score.",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No CTV product or claim found for Remerge this session (unlike Jampp, YouAppi, Adikteev, and Verve Dataseat, all of which document CTV-to-app products).",
     "conditions": ""
    },
    "D11": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S06"
     ],
     "rationale": "AppsFlyer-cited ranking references e-commerce, delivery, and finance verticals alongside gaming — establishes a non-gaming claim, but no named non-gaming advertiser case studies (the anchor for score 2) were found this session.",
     "conditions": ""
    }
   },
   "sources": [
    "V2-S06",
    "V2-S07"
   ]
  },
  {
   "group": "V2",
   "vendor_id": "jampp",
   "parent_org": "Affle 3i Limited (NSE/BSE: AFFLE)",
   "products_in_scope": [
    "Jampp DSP",
    "Jampp CTV"
   ],
   "roles": [
    "DSP"
   ],
   "ownership": "Wholly owned subsidiary of Affle, 100% acquired; deal announced 2021-06-09 and completed 2021-07-01 (Affle's own press release, V2-S23; price not disclosed). Parent Affle (India) Limited renamed Affle 3i Limited in April 2025 (carried from seed, not re-verified this session).",
   "financial_scale": "not disclosed (Jampp is not separately broken out in Affle's public filings per sources reviewed this session)",
   "what_is_sold": "A programmatic mobile DSP for user acquisition and retargeting, explicitly optimizing toward advertiser-set ROAS goals ('Set your goals and our algorithms will adjust everything to ensure you are ROAS positive'), plus a separate Jampp CTV product (launched 2023-07-20) linking CTV exposure to app downloads/re-engagement via MMP integration.",
   "buyer_and_app_fit": "Best fit: performance mobile-app marketers wanting a hybrid self-serve-dashboard-plus-managed-creative model, with an unusually specific, always-on incrementality product (see D7) bundled at no extra cost from day one.",
   "economics": "Pricing model (CPI/CPA/CPM/% of spend) not explicitly disclosed on the product page reviewed; ROAS-goal framing implies performance-based billing but no rate card found.",
   "data_requirements": "Documented support for SKAN, probabilistic attribution, and IDFA (when available) (V2-S22); AdAttributionKit support not mentioned in the page reviewed.",
   "supply_dependencies": "Not detailed beyond 'programmatic in-app' access; no owned-SDK-supply claim found (contrasts with sibling YouAppi/mediasmart, which document broader cross-screen supply).",
   "measurable_controls": "Dashboard for direct campaign management plus a documented Reporting API and log-level data access 'for data science teams' (V2-S22); Dynamic Creative Optimization (DCO), feed-based creative, and HTML5 interactive-format testing also documented.",
   "implementation_burden": "Hybrid model: buyer can self-serve via dashboard/API, while Jampp's in-house design team handles creative production — moderate burden, split between buyer and vendor.",
   "proof_quality": "No named advertiser case study reviewed this session; the 'Always-on Lift Measurement' / Ghost Bids incrementality claim (V2-S22) is a specific, named methodology but presented as a standing product feature rather than a published study with a stated sample or duration.",
   "switching_limits": "Not documented this session.",
   "risks": "As an Affle-owned brand operating alongside sibling DSPs YouAppi, RevX, and mediasmart (all discovered this session, V2-S16/S31/S30), there is a latent question of data/product consolidation across the Affle portfolio that this session did not find addressed in any of the four brands' own materials.",
   "poor_fit_use_cases": "Buyers requiring documented AdAttributionKit support (not found) or CTV causal-measurement (Jampp CTV's own launch post does not claim an incrementality/causal method specific to CTV).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Product page explicitly documents live ROAS-goal optimization ('ensure you are ROAS positive on your campaigns') as a standing, advertiser-facing feature.",
     "conditions": "global, both OS"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Retargeting is a named, documented use case across the user journey; no explicit suppression/exclusion-list feature found to support score 3 (the documented Ghost Bids incrementality product is scored separately under D7, not treated here as re-engagement-specific suppression).",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Documents SKAN, probabilistic attribution, and IDFA (when available) as supported attribution types; AdAttributionKit not mentioned, so not scored 3.",
     "conditions": "iOS"
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Documents Dynamic Creative Optimization, feed-based creative, and HTML5 interactive formats with a stated 'Build & Test, Measure, Iterate' process; no explicit randomized/disclosed-allocation testing design or named playable format confirmed, so not scored 3.",
     "conditions": ""
    },
    "D5": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Documents real-time dashboards (spend, conversions, ROAS) plus log-level data access; no explicit block/allow-list control feature found to support score 3.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No explicit media-cost-vs-platform-fee breakdown or published fee schedule found on the page reviewed.",
     "conditions": ""
    },
    "D7": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Documents a named, standing method ('Always-on Lift Measurement' using 'Ghost Bids,' explicitly modeled on Ghost Ads) available 'from day 1 at no additional cost' with results reporting implied by 'statistically significant results' — matches the anchor for a standardized experiment product with a stated method.",
     "conditions": "availability across all campaigns not independently confirmed beyond the vendor's own claim"
    },
    "D8": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Explicitly documents a 'reporting API' plus 'log-level data' provided to data-science teams — matches the anchor for log-level/impression-level export.",
     "conditions": ""
    },
    "D9": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S22"
     ],
     "rationale": "Documents a dashboard for direct campaign management (self-serve); a documented reporting API exists, but no explicit campaign-management API (create/edit campaigns via API, not just reporting) was found to support score 3.",
     "conditions": ""
    },
    "D10": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S21"
     ],
     "rationale": "Jampp CTV documents tracking app downloads/re-engagements tied to CTV campaigns via MMP integration for real-time cost-per-action optimization; no stated identity method (deterministic/probabilistic/household) or CTV-specific causal/incrementality option found, so not scored 3.",
     "conditions": "launched 2023-07-20"
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming advertiser case studies found for Jampp this session (contrast with Smadex and Verve, where the parent filing/product page at least names non-gaming verticals).",
     "conditions": ""
    }
   },
   "sources": [
    "V2-S21",
    "V2-S22",
    "V2-S23"
   ]
  },
  {
   "group": "V2",
   "vendor_id": "verve-dataseat",
   "parent_org": "none (public company)",
   "products_in_scope": [
    "Verve Dataseat (mobile app DSP)",
    "Verve exchange/SSP (majority of business, out of D-scoring scope per the brief)"
   ],
   "roles": [
    "exchange/SSP",
    "DSP"
   ],
   "ownership": "Public. Verve Group SE (formerly MGI - Media and Games Invest SE, renamed 2024-06-13; ticker VER, ISIN SE0018538068, dual-listed Nasdaq First North Premier Stockholm + Frankfurt Scale per V2-S10) was renamed again to Verve Group Media SE at its 2026-06-05 AGM, which also approved relocating the registered office from Sweden to Ireland (V2-S12, a syndicated distribution of the issuer's own release — treated as one evidence origin, grade B pending a directly-opened primary filing). Dataseat itself was acquired by Verve Holding GmbH (a Media and Games Invest subsidiary) on 2022-07-05, price undisclosed. AUTHOR SCRUTINY NOTE: the author was EVP at Verve Group Sep 2022-Aug 2024; every capability claim below is graded as a vendor assertion (B) rather than upgraded to A, even where language is technically specific, absent independent corroboration.",
   "financial_scale": "Not independently derived this session — the Q1 2026 interim-report PDF (investors.verve.com) could not be parsed by WebFetch (binary/image-heavy content); no Dataseat-specific revenue line was found in the sources actually opened.",
   "what_is_sold": "Verve Dataseat is described on Verve's own site as a 'contextual performance DSP built to supercharge app growth — optimizing for installs, subscriptions, purchases, and high-LTV users without relying on device IDs,' positioned as one product line within Verve's broader omnichannel supply-side/exchange business (Jun Group, Smaato/Hybid SDK, Captify).",
   "buyer_and_app_fit": "Best fit per Verve's own materials: buyers wanting CTV-to-mobile linkage and SKAN-based iOS optimization within a broader omnichannel/supply-side relationship; not a fit for buyers seeking a pure, demand-side-only DSP peer comparison, since Verve's own seed-carried characterization (not re-verified this session) puts demand-side (the DSP) at roughly 30% of the business versus 70% supply-side.",
   "economics": "No fee schedule, media-cost-vs-platform-fee breakdown, or minimum spend found; the Dataseat page directs prospects to 'contact' the team rather than publishing self-serve pricing.",
   "data_requirements": "Documents SKAN postback ingestion and conversion-value mapping as inputs to its 'advertiser-adaptive AI'; when 'running with SKAN and MMP data,' the platform is stated to use 'attributed installs, post-install events, and postbacks' — implying MMP dependency, though no specific MMP integrations were named in the pages opened.",
   "supply_dependencies": "Verve's own 2022 acquisition announcement ties Dataseat to the group's existing SDK infrastructure (Smaato, Hybid) — but this is a 2022 integration-intent statement, not confirmation of current, live shared supply; not independently re-confirmed this session.",
   "measurable_controls": "Not clearly documented this session — no self-serve UI, campaign-management API, or reporting-export detail was found on the pages opened; the 'contact us' framing suggests a managed/sales-led motion but this was not explicitly stated.",
   "implementation_burden": "Cannot be assessed from sources opened this session; contact-gated onboarding implied.",
   "proof_quality": "One named non-gaming case study found: a press release describing a LinkedIn engagement where 'partnering with Verve, LinkedIn reduced its Cost per Install by 38 percent and its Cost per App Activation by 39 percent, while realizing over 90 percent visibility into post-install events' — a single vendor-published case study with no stated comparator, sample, or independent verification; applying the same or stricter scrutiny required by the author's prior Verve employment, this is treated strictly as a vendor claim (grade B), not as proof of causal lift.",
   "switching_limits": "Not documented this session.",
   "risks": "Structural: the DSP (Dataseat) is a minority line within a majority supply-side/exchange business (per seed characterization, not re-verified this session), which is a conflict-of-interest-adjacent structure worth flagging (a company that both sells supply and buys demand) — no specific allegation of misconduct found, and none should be inferred; report as a structural note only, consistent with the brief's instruction that ownership can create a potential conflict without proving one.",
   "poor_fit_use_cases": "Buyers wanting a neutral, demand-side-only DSP benchmark, or requiring a documented, named causal-measurement design (geo/PSA/ghost) for CTV-to-app claims — Verve's own page claims 'controlled incrementality testing' without naming the design.",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S13"
     ],
     "rationale": "Own product page explicitly documents optimization toward 'installs, subscriptions, purchases, ROAS, or LTV' as live, advertiser-selectable goals — meets the anchor for value/ROAS/LTV optimization documented as live; graded B (vendor page) and not upgraded despite specificity, per the author's stricter-scrutiny instruction.",
     "conditions": "not specified by OS in the page reviewed"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S09"
     ],
     "rationale": "Dataseat's own About page names Retargeting as one of three core solution areas (alongside User Acquisition and SKAN campaigns); no suppression/exclusion-control documentation found to support score 3.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S13"
     ],
     "rationale": "Documents SKAN postback ingestion, conversion-value mapping, and 'value-based outcome modeling' in detail; no AdAttributionKit mention found in the pages opened, so not scored 3.",
     "conditions": "iOS"
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No creative-workflow or testing-design documentation found this session.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No app/bundle-level reporting or block/allow-list documentation found this session; the 'data stays fully isolated' claim (V2-S13) addresses cross-client data isolation, not advertiser-facing placement reporting.",
     "conditions": ""
    },
    "D6": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No fee schedule or cost-breakdown found; pages reviewed gate pricing behind a 'contact us' flow.",
     "conditions": ""
    },
    "D7": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S13"
     ],
     "rationale": "Own page claims CTV spend is 'validated via controlled incrementality testing' but does not name a specific method (geo/PSA/ghost/ITT) or describe results reporting — meets only the anchor for 'claims incrementality without method.' Scored conservatively per the author's stricter-scrutiny instruction for Verve.",
     "conditions": ""
    },
    "D8": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No reporting-export (API/log-level) documentation found this session.",
     "conditions": ""
    },
    "D9": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No self-serve UI or campaign-management API documentation found; 'contact us' framing suggests managed/sales-led access but this was not explicitly stated as the only access mode.",
     "conditions": ""
    },
    "D10": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V2-S13"
     ],
     "rationale": "Own page documents CTV inventory tied to 'mobile installs and post-install revenue' with 'spend optimized through outcome-driven decisioning' and a reference to 'controlled incrementality testing' — meets the anchor for documented CTV-to-app reporting, but no identity method (deterministic/probabilistic/household matching) is named, so withheld from score 3 under stricter scrutiny.",
     "conditions": ""
    },
    "D11": {
     "score": 1,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "One named non-gaming case study was found via a press-release headline (LinkedIn CPI/CPA reduction) during research but the underlying release itself was not opened this session (only its headline/summary was seen), so it is not cited as a scored source; pending that gap, only Verve's own general non-gaming framing supports a claim-level score of 1, below the two-named-case threshold for score 2.",
     "conditions": "flagged in open_questions for re-verification by opening the underlying LinkedIn case-study release directly"
    }
   },
   "sources": [
    "V2-S09",
    "V2-S10",
    "V2-S11",
    "V2-S12",
    "V2-S13"
   ]
  },
  {
   "group": "V3",
   "vendor_id": "V3-Meta-AAC",
   "parent_org": "Meta Platforms, Inc.",
   "products_in_scope": [
    "Advantage+ App Campaigns"
   ],
   "roles": [
    "ad network",
    "self-serve platform"
   ],
   "ownership": {
    "status": "public:META",
    "source_ids": []
   },
   "financial_scale": "not disclosed (Meta's 10-K reports total advertising revenue; app-promotion/Advantage+ revenue is not broken out separately)",
   "what_is_sold": "Automated app-install and post-install-event campaigns across Facebook, Instagram, Messenger, Reels, and Audience Network, using Meta's Andromeda ranking system to automate targeting, placement, budget allocation, and (since Feb 2026 for new campaigns) creative enhancements.",
   "buyer_and_app_fit": "Any iOS/Android app advertiser able to pass a defined optimization event (install or post-install) via SDK/MMP/SKAN; heavier reliance on Meta's automation than legacy App Ads.",
   "economics": {
    "pricing_model": "CPM-based auction (advertiser sets budget + optimization event; no separate platform fee disclosed)",
    "minimums": "not documented in sources opened this session"
   },
   "data_requirements": "Meta Pixel/SDK or MMP-forwarded app events; SKAdNetwork/AdAttributionKit postbacks for iOS.",
   "supply_dependencies": "Owned-and-operated surfaces (Facebook, Instagram, Messenger, Reels) plus Audience Network exchange inventory; advertiser cannot see the specific publisher apps/placements within that mix.",
   "measurable_controls": "Optimization event selection, budget, OS/country/language targeting, creative assets, campaign-level exclusions; no placement selection.",
   "implementation_burden": "Low-to-moderate: requires SDK/MMP event setup and SKAN/AAK configuration; otherwise largely automated.",
   "proof_quality": "Not assessed in this session beyond platform documentation; no third-party case studies opened.",
   "switching_limits": "Not assessed this session.",
   "risks": "Documented lack of placement/publisher-level reporting limits independent verification of where spend is delivered; heavy reliance on Meta's own optimization logic.",
   "poor_fit_use_cases": "Advertisers requiring placement-level brand-safety review or exchange-level transparency.",
   "scores": {
    "D1": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V3-S05"
     ],
     "rationale": "Help-center text describes selecting a post-install 'optimization event,' i.e., documented event/CPA-style optimization; a value/ROAS-based tier was not independently confirmed via a primary doc opened this session.",
     "conditions": "iOS and Android; requires SDK/MMP event integration"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "General Meta re-engagement campaign capability is widely referenced in secondary sources, but no primary Advantage+ App Campaigns page confirming suppression/holdout for re-engagement was opened this session.",
     "conditions": ""
    },
    "D3": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Secondary sources describe Meta supporting both SKAN 4 and AdAttributionKit postbacks as of 2026, but no Meta developer-doc page confirming this was opened directly this session (JS-rendered pages returned titles only).",
     "conditions": "iOS"
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Advantage+ creative auto-optimization ('creative enhancements pre-selected') is documented in secondary summaries of Meta's help center; explicit randomized-test design language and playable-ad coverage were not confirmed via a primary doc this session.",
     "conditions": ""
    },
    "D5": {
     "score": 0,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S05"
     ],
     "rationale": "Official help-center text states advertisers 'won't have the option to see reporting insights for specific placements'; targeting limited to OS/country/language; reporting breakdowns limited to region/state and creative unit.",
     "conditions": ""
    },
    "D6": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not scored for this benchmark channel per brief instructions (not established as meaningful this session).",
     "conditions": ""
    },
    "D7": {
     "score": 3,
     "availability": "limited",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S06"
     ],
     "rationale": "Conversion Lift is a documented RCT product with an API and results reporting, covering mobile-app-event conversions; access is gated ('contact your Meta Representative'), not self-serve.",
     "conditions": "Requires Meta account-team approval; minimum ~100 combined conversions for breakdown display"
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V3-S06"
     ],
     "rationale": "Marketing API / Insights API provide aggregated, scheduled reporting and study-level API access; no impression/bid-level export documented for advertisers this session.",
     "conditions": ""
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "Meta Marketing API supports programmatic campaign/ad-set creation and budget/bid edits (per Meta developer documentation referenced in secondary summaries this session); not independently re-verified against a primary developers.facebook.com page in this session.",
     "conditions": ""
    },
    "D10": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not a CTV product.",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming case studies opened this session.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V3-S05",
    "V3-S06"
   ]
  },
  {
   "group": "V3",
   "vendor_id": "V3-Google-AppCampaigns",
   "parent_org": "Alphabet Inc. / Google LLC",
   "products_in_scope": [
    "Google App Campaigns (installs, engagement, pre-registration)"
   ],
   "roles": [
    "ad network",
    "self-serve platform",
    "cross-network buyer (Search, Display, YouTube, Play, Discover)"
   ],
   "ownership": {
    "status": "public:GOOGL",
    "source_ids": []
   },
   "financial_scale": "not disclosed (Alphabet's 10-K/10-Q report total Google advertising revenue; App campaigns revenue is not broken out)",
   "what_is_sold": "Automated app-install, in-app-engagement, and Android pre-registration campaigns spanning Search, Display, YouTube, Discover, and Google Play, with Google selecting creative combinations and inventory automatically.",
   "buyer_and_app_fit": "iOS/Android app advertisers who can supply text/image/video/HTML5 assets and conversion tracking (Firebase, GA4, or an App Attribution Partner).",
   "economics": {
    "pricing_model": "Auction-based; bid strategies tCPI, tCPA, tCPpre, Maximize Conversions, tROAS",
    "minimums": "not explicitly stated in sources opened this session; guidance suggests waiting for 'more than 100 conversions' or '30+ conversions in 30 days' before switching to tROAS, per secondary summaries"
   },
   "data_requirements": "Firebase/GA4 SDK, or a certified App Attribution Partner (AAP) for SKAN/AAK-based conversion import.",
   "supply_dependencies": "Google's own owned-and-operated + partner network across Search, Display, YouTube, Discover, and Play; advertisers do not see which specific placements/networks served an ad.",
   "measurable_controls": "Goal type, budget, bid strategy, asset groups (text/image/video/HTML5), languages/locations; no placement selection or reporting.",
   "implementation_burden": "Low-to-moderate: conversion tracking setup (Firebase/GA4 or AAP) is the main integration step.",
   "proof_quality": "Not assessed in this session beyond platform documentation.",
   "switching_limits": "Not assessed this session.",
   "risks": "Long-documented absence of placement/network transparency is a structural limitation for brand-safety and channel-mix analysis.",
   "poor_fit_use_cases": "Advertisers requiring network/placement-level attribution or manual inventory control.",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S03"
     ],
     "rationale": "Official Google Ads Help page documents tCPI, tCPA, and tROAS (value/ROAS-based) bidding as live options for App campaigns.",
     "conditions": "tROAS recommended only after sufficient conversion history"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S11"
     ],
     "rationale": "Google Ads API documentation names a distinct APP_CAMPAIGN_FOR_ENGAGEMENT subtype for re-engagement; documented suppression/holdout for re-engagement specifically was not confirmed this session.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "Google's App Attribution Partner (AAP) program is documented to receive SKAdNetwork conversion data equivalent to App campaign conversions (per Google Ads Help summaries reviewed this session); direct primary-doc confirmation of AdAttributionKit ingestion specifically by Google Ads was not obtained this session.",
     "conditions": "iOS"
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V3-S11"
     ],
     "rationale": "App campaigns require multiple text/image/video/HTML5 assets that Google's system automatically tests and recombines; this is an adaptive/automated design, not a disclosed randomized-split methodology.",
     "conditions": ""
    },
    "D5": {
     "score": 0,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [
      "V3-S11"
     ],
     "rationale": "Official API documentation does not specify which placements/networks/apps receive ads, and no advertiser-facing placement report is documented; this is a long-standing, widely corroborated limitation of the product.",
     "conditions": ""
    },
    "D6": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not scored for this benchmark channel per brief instructions.",
     "conditions": ""
    },
    "D7": {
     "score": 3,
     "availability": "limited",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S07"
     ],
     "rationale": "Conversion Lift is documented with user-based and geo-based RCT designs and API-adjacent setup flows; access is gated ('contact your Google account representative'), not self-serve.",
     "conditions": "Requires Google account-team access; App-campaign eligibility corroborated by secondary summaries, not the exact excerpt opened this session"
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S11"
     ],
     "rationale": "Google Ads API supports scheduled/programmatic reporting at campaign level (aggregated); no impression/placement-level export documented for App campaigns.",
     "conditions": ""
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S11"
     ],
     "rationale": "Google Ads API documents campaign creation, CampaignBudget objects, and bidding-strategy objects for App campaigns, i.e., a full campaign-management API (legacy installs-only subtype excluded from the API, UI-only).",
     "conditions": "Legacy 'App Campaign (installs)' subtype is UI-only, not API-manageable"
    },
    "D10": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not a CTV product (YouTube inclusion in App campaigns is in-app-outcome buying on a video surface, not a distinct CTV-to-app bridge product).",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming case studies opened this session.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V3-S03",
    "V3-S07",
    "V3-S11"
   ]
  },
  {
   "group": "V3",
   "vendor_id": "V3-TikTok-SmartPlus",
   "parent_org": "ByteDance Ltd.",
   "products_in_scope": [
    "TikTok App Campaigns",
    "Smart+ App Campaigns"
   ],
   "roles": [
    "ad network",
    "self-serve platform"
   ],
   "ownership": {
    "status": "private",
    "source_ids": []
   },
   "financial_scale": "not disclosed (ByteDance is privately held; no filings available)",
   "what_is_sold": "AI-automated app-install and app-event campaigns with automated creative rotation and budget shifting toward best-performing creative; supports MAI (install), AEO (in-app event), and VBO (value-based optimization, Android only).",
   "buyer_and_app_fit": "iOS/Android app advertisers who can connect app events/SDK signals; VBO specifically requires Android and value/revenue event integration.",
   "economics": {
    "pricing_model": "Auction-based; advertiser supplies KPIs, creative, geography/language",
    "minimums": "not documented in sources opened this session"
   },
   "data_requirements": "TikTok Events API/SDK for in-app events; SKAdNetwork 4 conversion-value configuration for iOS (single SDK recommended to avoid update conflicts).",
   "supply_dependencies": "TikTok app inventory; placement selection is automatic and cannot be manually restricted.",
   "measurable_controls": "Optimization goal (MAI/AEO/VBO), Spark vs non-Spark ad selection (not mixed within one campaign), creative assets, targeting country/language; no manual placement selection.",
   "implementation_burden": "Moderate: SKAN 4 conversion-value setup for iOS; app whitelisting and App ID registration recommended.",
   "proof_quality": "Vendor-reported case study volume claim (Bolt UK) noted in search-tool summaries; not independently opened this session.",
   "switching_limits": "Not assessed this session.",
   "risks": "No documented placement-level reporting; VBO restricted to Android only, creating an optimization-tier gap for iOS advertisers.",
   "poor_fit_use_cases": "iOS-only advertisers seeking value/ROAS-based optimization (VBO is Android-only per documentation).",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S01"
     ],
     "rationale": "Official help center documents three optimization goals: install (MAI), in-app event (AEO), and value-based optimization (VBO).",
     "conditions": "VBO is documented as Android-only"
    },
    "D2": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No re-engagement/suppression documentation for Smart+ App Campaigns was opened this session.",
     "conditions": ""
    },
    "D3": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S08"
     ],
     "rationale": "Official help page (last updated Feb 2025) documents SKAN 4.0 support in full: fine/coarse conversion values, three postback windows, crowd anonymity tiers, and 4-digit source_id. AdAttributionKit is not mentioned on this page.",
     "conditions": "iOS; page silent on AdAttributionKit"
    },
    "D4": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S01"
     ],
     "rationale": "Smart+ documents automated optimization of video/text/CTA creative and automated budget shifting toward top performers; Spark and non-Spark ads cannot be mixed in one campaign; no disclosed randomized-split design.",
     "conditions": ""
    },
    "D5": {
     "score": 0,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S01"
     ],
     "rationale": "Official documentation states manual placement selection 'is not supported by Smart+ Campaigns at this time, as it will default to automatic placement selection'; no placement-level reporting is documented.",
     "conditions": ""
    },
    "D6": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not scored for this benchmark channel per brief instructions.",
     "conditions": ""
    },
    "D7": {
     "score": 3,
     "availability": "limited",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S09"
     ],
     "rationale": "Conversion Lift Study is documented as a standardized RCT product (test/control split) supporting app installs as an objective, with results reporting; explicitly run as an 'exclusive managed service.'",
     "conditions": "Managed service; minimum spend required (amount undisclosed on page)"
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "TikTok Marketing API's Reporting API supports synchronous/asynchronous aggregated reporting (per official API portal summaries reviewed this session); log-level export was not confirmed.",
     "conditions": ""
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "TikTok Marketing API's CampaignCreationApi documents campaign creation with objective_type APP_PROMOTION, budget, and budget_mode parameters (per official API portal summaries reviewed this session).",
     "conditions": ""
    },
    "D10": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not a CTV product.",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming case studies opened this session.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V3-S01",
    "V3-S08",
    "V3-S09"
   ]
  },
  {
   "group": "V3",
   "vendor_id": "V3-Apple-Ads",
   "parent_org": "Apple Inc.",
   "products_in_scope": [
    "Apple Ads (Apple Search Ads)"
   ],
   "roles": [
    "owned-inventory ad platform (App Store search results, Search Tab, Today Tab, Product Pages per general product knowledge; placement-type detail not independently reconfirmed this session)"
   ],
   "ownership": {
    "status": "public:AAPL",
    "source_ids": []
   },
   "financial_scale": "not disclosed (Apple's 10-K reports Services revenue in aggregate; Apple Ads is not broken out)",
   "what_is_sold": "Keyword- and audience-targeted ads on Apple's own App Store inventory, using AdServices for deterministic (21-day-retention) attribution alongside AdAttributionKit/SKAdNetwork.",
   "buyer_and_app_fit": "iOS app developers/advertisers bidding on App Store search/browse placements.",
   "economics": {
    "pricing_model": "Auction-based (CPT/CPA-style bidding per general product knowledge); not independently reconfirmed via a primary doc this session",
    "minimums": "not documented in sources opened this session"
   },
   "data_requirements": "AdServices API integration and/or SKAdNetwork/AdAttributionKit registration.",
   "supply_dependencies": "Apple's own App Store surfaces only (not a third-party exchange/network product).",
   "measurable_controls": "Not independently confirmed this session (see D1/D5 n/e below); Campaign Management API supports programmatic campaign/ad-group/keyword management.",
   "implementation_burden": "Low for AdServices (native Apple integration); SKAN/AAK setup follows the same industry-wide pattern as other iOS advertising.",
   "proof_quality": "Not assessed this session.",
   "switching_limits": "Not assessed this session.",
   "risks": "Documentation gaps identified this session (bidding-objective detail, placement-type reporting) should be closed before drawing firm conclusions about buyer control depth relative to Meta/Google/TikTok.",
   "poor_fit_use_cases": "Android-only advertisers (Apple Ads is iOS/App-Store-only); advertisers needing off-Apple-platform reach.",
   "scores": {
    "D1": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Apple's own campaign-setup/bidding help pages (e.g., CPA-goal bidding) could not be retrieved this session — guessed URLs returned 404 and the help index page did not expose direct links; not scoring from unverified general knowledge.",
     "conditions": ""
    },
    "D2": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No re-engagement/suppression documentation opened this session.",
     "conditions": ""
    },
    "D3": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S02"
     ],
     "rationale": "Official Apple Ads help page confirms both AdServices (deterministic, 21-day data retention) and, as of April 10, 2025, AdAttributionKit registration (initially SKAN versions 1-3), giving advertiser-level reporting via two coexisting mechanisms.",
     "conditions": "SKAN 4 / full AdAttributionKit feature parity not confirmed as of the page excerpt retrieved this session"
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Creative-workflow documentation (e.g., Custom Product Pages integration with Search Ads) was not opened this session.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Placement-type (Search Results/Search Tab/Today Tab/Product Pages) reporting granularity could not be confirmed — relevant help pages returned 404 on guessed URLs this session.",
     "conditions": ""
    },
    "D6": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not scored for this benchmark channel per brief instructions.",
     "conditions": ""
    },
    "D7": {
     "score": 1,
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No dedicated incrementality/lift-study product for Apple Ads was found in sources opened this session (unlike Meta, Google, and TikTok, each of which documents a named lift-study product).",
     "conditions": "Absence of evidence, not confirmed absence of the product platform-wide"
    },
    "D8": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S12"
     ],
     "rationale": "Campaign Management API documentation confirms reporting endpoints exist ('pull reports programmatically'); the excerpt retrieved did not state whether granularity extends to placement/impression level.",
     "conditions": ""
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S12"
     ],
     "rationale": "Campaign Management API documentation confirms OAuth2 REST API support for creating/managing campaigns, ad groups, and keywords programmatically.",
     "conditions": ""
    },
    "D10": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not a CTV product.",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming case studies opened this session.",
     "conditions": ""
    }
   },
   "service_model": "self-serve",
   "sources": [
    "V3-S02",
    "V3-S12"
   ]
  },
  {
   "group": "V3",
   "vendor_id": "V3-Amazon-DSP-App",
   "parent_org": "Amazon.com, Inc.",
   "products_in_scope": [
    "Amazon DSP (app promotion / events manager)"
   ],
   "roles": [
    "DSP"
   ],
   "ownership": {
    "status": "public:AMZN",
    "source_ids": []
   },
   "financial_scale": "not disclosed (Amazon's 10-K reports total 'Advertising services' revenue; DSP app-promotion revenue is not broken out)",
   "what_is_sold": "Programmatic buying across Amazon owned-and-operated and third-party exchange inventory, with an 'events manager' feature (launched Feb 13, 2024) that ingests real-time app install/in-app-event conversions to optimize toward CPI, CPA, or ROAS and build first-party audiences from those signals.",
   "buyer_and_app_fit": "Android and Fire TV/tablet app advertisers in US, Canada, Mexico, Brazil as of the 2024 announcement; no iOS support documented for this specific feature.",
   "economics": {
    "pricing_model": "Programmatic auction; self-service available, managed service requires a $50,000 USD minimum spend",
    "minimums": "$50,000 USD for managed service"
   },
   "data_requirements": "MMP integration (Kochava, Adjust, or Singular documented as integrated partners for this feature) or Amazon-attributed conversion tracking.",
   "supply_dependencies": "Amazon owned-and-operated properties plus third-party exchange/app inventory reachable via Amazon DSP.",
   "measurable_controls": "CPI/CPA/ROAS optimization goal, audience segments built from app conversion signals, self-serve campaign management via API.",
   "implementation_burden": "Moderate: requires MMP integration for event forwarding; Amazon Marketing Cloud (AMC) access requires a separate request to an Amazon Ad Tech Account Executive.",
   "proof_quality": "Not assessed this session beyond the official announcement.",
   "switching_limits": "Not assessed this session.",
   "risks": "The flagship app-campaign measurement feature (events manager) is documented as Android/Fire-OS-only; iOS app-install support pathway (if any) was not confirmed this session, a material gap for iOS-heavy advertisers.",
   "poor_fit_use_cases": "iOS-only app advertisers seeking this specific events-manager optimization path (undocumented for iOS this session); advertisers below the $50,000 managed-service minimum who need full-service support.",
   "scores": {
    "D1": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S10"
     ],
     "rationale": "Official Amazon Ads announcement documents optimization toward CPI, CPA, and ROAS as live capabilities of the DSP events manager for app campaigns.",
     "conditions": "Android and Fire TV/tablet only; US, Canada, Mexico, Brazil as of the Feb 2024 announcement"
    },
    "D2": {
     "score": 2,
     "availability": "live",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S10"
     ],
     "rationale": "Documentation states advertisers can build audience segments from app install/in-app-event signals for targeting; documented suppression/holdout specifically for re-engagement was not confirmed.",
     "conditions": ""
    },
    "D3": {
     "score": 0,
     "availability": "unconfirmed",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S10"
     ],
     "rationale": "The events-manager announcement explicitly scopes this app-campaign feature to 'Android and Fire TV/tablet devices'; no iOS/SKAN/AdAttributionKit support is documented for this product in sources opened this session.",
     "conditions": "Documented gap may not describe Amazon DSP's iOS app-install capability overall, only this specific events-manager feature; flagged in open_questions"
    },
    "D4": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "App-specific creative-testing documentation was not opened this session; Amazon DSP's general 'Performance+' AI creative product was identified only via search snippet, not fetched.",
     "conditions": ""
    },
    "D5": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Placement/app-bundle-level transparency for Amazon DSP was not confirmed via a primary doc opened this session.",
     "conditions": ""
    },
    "D6": {
     "score": "n/a",
     "availability": "n/a",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Not scored per brief instructions; Amazon Ads publishes a general 'pricing transparency' guide (identified via search snippet only, not opened) that may be relevant to a future pass.",
     "conditions": ""
    },
    "D7": {
     "score": 2,
     "availability": "limited",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Amazon DSP's general product page references brand-lift studies, offline sales-lift insights, and Marketing Mix Modeling 'for eligible advertisers' (per search-tool summary of the DSP product page); not confirmed as app-install-specific this session.",
     "conditions": "Eligibility-gated; not confirmed as self-serve"
    },
    "D8": {
     "score": 3,
     "availability": "limited",
     "evidence_grade": "A",
     "source_ids": [
      "V3-S13"
     ],
     "rationale": "Amazon Marketing Cloud is documented to provide event-level and user-level data with 'hundreds of fields' including ad-attributed impressions, clicks, and conversions to registered Amazon DSP advertisers.",
     "conditions": "Access is gated: advertisers must request it via an Amazon Ad Tech Account Executive, not self-serve by default"
    },
    "D9": {
     "score": 3,
     "availability": "live",
     "evidence_grade": "B",
     "source_ids": [],
     "rationale": "Amazon DSP campaign management and creative APIs are documented as generally available (per official Amazon Ads 'what's new' and API developer-guide summaries reviewed this session, not independently re-fetched in full).",
     "conditions": ""
    },
    "D10": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "Amazon's Fire TV/CTV app-install angle was not independently verified as a distinct CTV-to-app product this session.",
     "conditions": ""
    },
    "D11": {
     "score": "n/e",
     "availability": "unconfirmed",
     "evidence_grade": "C",
     "source_ids": [],
     "rationale": "No named non-gaming app-advertiser case studies opened this session.",
     "conditions": ""
    }
   },
   "service_model": "hybrid",
   "sources": [
    "V3-S04",
    "V3-S10",
    "V3-S13"
   ]
  }
 ]
}