Repository navigation
Conversation
Add ad-networks/roku-ads (connect, reporting, Conversions API postbacks) and ad-networks/dsps (Samsung Ads, The Trade Desk and Google DV360 impression tags), link both in the navigation, and document DSP mode on the S2S and CTV impression endpoints. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tashviks
marked this pull request as ready for review
October 22, 2026 19:33
…(LIN-3905) Adds "Run Google Ads on connected TV": the Video route (reporting only) and the Demand Gen route, where Google can show a QR code on TV from a Linkrunner Final URL. Says what Linkrunner credits and what it sends postbacks for, and why a viewer who only watches the ad is not credited. Adds the Google TV section to CTV attribution. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…N-3325) Document GET /v1/click with lr_key, the clicks_enabled switch (default false), required device id, and the Samsung click tag as the only supported tag. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The Trade Desk and Google DV360 are hidden in the dashboard for now, so the side by side table of the three DSPs no longer belongs at the top of the page. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs for LIN-3325.
Reader task
ad-networks/roku-ads: connect Roku Ads, what Linkrunner reports, and set up Conversions API postbacks and event mapping.ad-networks/dsps: buy ads through Samsung Ads, The Trade Desk or Google DV360 and paste one Linkrunner impression tag into the DSP.api-reference/s2s-impressionsandapi-reference/ctv-impressions: the DSP mode of the two impression endpoints (lr_key).docs.json: both pages in the Ad Networks navigation.Behavioral evidence
Checks
npm run check:agentsandnpm run check:routes -- origin/mainpass.mintlify devpreview of these two pages, and no screenshots (none of the UI is captured here).Publishing
Draft on request. The repo policy is a non-draft PR with
RathodDarshilas reviewer; I did not request the reviewer so the draft does not notify anyone. Publishing needs its own approval, and the pages should not go live before the backend, hazelnut and dashboard PRs ship.Also in this PR (DSP clicks and Google TV)
ad-networks/dspsandapi-reference/s2s-clicks: the DSP click tag, thelr_keyand device id rules, and the per-source clicks switch (LIN-3325).ad-networks/google-tv-campaigns(new, in the Ad Networks navigation after Google Ads): the Video route is reporting only; the Demand Gen route uses a Linkrunner link as the Final URL with auto-tagging and an optional Final URL suffix. An install is credited only when a click reaches a Linkrunner link with Google click parameters, or through iOS ICM context; a viewer who only watches is not credited.features/ctv-attribution: the Google TV section.docs.jsongains the Google TV page.After combining:
npm run check:agents9 of 9 andnpm run check:routes -- origin/mainvalid (136 pages). Not run: the Mintlify render. Google's behavior was read in the live Google Ads UI (nothing was published) and in Google's help pages; whether Google tags a scan of its TV QR codes with click parameters is unverified.Publishing: the Google TV page must not go live before the dashboard and backend ship.
Related PRs (LIN-3325 and LIN-3905)
Closed because their content is folded into the PRs above: hazelnut #979 and #980, backend #1479, dashboard #920, docs #312 (Google TV, LIN-3905, which also carried the Connected TV base that never had its own PR).
Merge and deploy order (all of LIN-3325 and LIN-3905)
clicks_enabled), hazelnut #967. Postgres first, then the84_and85_ClickHouse DDL: put only those two files in a temporary directory and rungo run . ch-schema --sql-dir <dir>against staging and then prod. A fullmake ch-schema-prodruns every file inclickhouse/init/prodand would probably stop at14_create_hazelnut_backup_schema.sql(bare CREATEs) on the live cluster. You run it; the ClickHouse user needs INSERT on both new tables; flip the CHANGE LOG entries from PENDING to APPLIED afterwards. Theclicks_enabledcolumn must exist before the backend and gateway images: a gateway loader ahead of the column fails the whole DSP key query, so impressions would answer 503 too.prod-campaign-daily-stats-v*tag, because the image workflow now edits two CronJob files and fails if one is missing. GSM props ROKU_CLIENT_ID, ROKU_CLIENT_SECRET, ROKU_DEVELOPER_APP_UID and ROKU_REDIRECT_URI must exist first..github/workflows/prod-image-build.yml: impression-consumer BEFORE the first DSP key is issued, the gateway image after the column exists,prod-metrics-server-v*(servesGetCtvMetrics, includinginclude_google_tv), andprod-campaign-daily-stats-v*(rewrites both CronJob images, still suspended).roku syncandgoogle-device-sync, compare one account to the ad network, then a one-line ops PR per CronJob settingsuspend: false. Rollback issuspend: true.Docs update (2026-10-26)
Removed the "Three DSPs are supported" comparison table from the top of
ad-networks/dsps.mdx(cd47ad1). The Trade Desk and Google DV360 sections further down the page are unchanged.🤖 Generated with Claude Code