Case Study · Marketing Attribution

Putting a €15M TV ad budget to work with server-side attribution.

Joyn had €15M a year to spend on Samsung Smart TVs and no reliable way to tie that spend to paying subscribers. A server-to-server pipeline through Adjust closed the gap.

Role Architected the server-to-server event pipeline, the Samsung Ads attribution setup, and the revenue reporting on top

Joyn · European streaming platform €15M annual CTV budget Samsung Tizen Smart TVs Adjust · Snowflake · Tableau
StreamingConnected TVAttributionData Pipeline

A big budget needs proof of what it buys

Marketing wanted to spend on Samsung TVs the way it spends on phones: bid by bid, tuned on real subscriptions.

NEED

Know which TV ads create subscribers

Samsung Tizen TV was one of Joyn's largest untapped acquisition channels. The €15M budget only pays off if each campaign can be judged on downloads, streaming and paid sign-ups.

GAP

Standard tools don't see TVs

TVs have no browser cookies and no phone-style ad IDs. Samsung uses its own identifiers, so the usual tracking set-up has nothing to match on.

What was at stake
TV identifiers, not cookies = installs the usual tools can't match
€15M a year = every unmatched install is unmeasured spend

Three problems standing between the budget and the screen

Hardware limits, a closed ad network, and revenue that arrives after the ad.

HARDWARE

Low-spec TVs can't carry heavy tracking

Embedding a tracking SDK in the TV app slows it down and adds upkeep. Startup speed and playback stability had to stay intact.

SDK on a low-spec TV = slower app start, more maintenance
NETWORK

Samsung grades its own homework

Samsung Ads is a self-attributing network: it matches installs to its own ads. To optimise bids it needs Joyn to send back what happened after the install.

No postbacks = Samsung can't improve targeting or bids
REVENUE

Money arrives after the install

Installs and first opens are easy to count. Paid subscriptions and retention come later and sit in a separate database from the ad data.

Install-only tracking = campaign profit stays invisible

Move tracking off the TV and into the backend

Four steps: identify the TV, feed Samsung, respect consent, then join every ad to the revenue it produced. The track turns purple where the data moves from collection to answering the ROI question.

1
Send events from the backend TV → Joyn backend → Adjust

At app launch the TV's own advertising ID and its ad-tracking opt-out flag are read and linked to the Joyn account. Events then travel server to server into Adjust, signed with a security token so spoofed requests are rejected.

Adjust S2S · Samsung TIFA / PSID
2
Close the loop with Samsung Adjust → Samsung Ads

Samsung Ads was switched on as a self-attributing network inside Adjust. Installs, engagement and subscription events now flow to Samsung in real time, so its bidding and targeting learn from what Joyn actually cares about. A retry queue keeps events from being lost when the network drops.

SAN postbacks · Retry queue
3
Name the events, honour consent taxonomy + privacy

TV-specific moments such as first open, registration and 30 minutes of streaming were mapped to standard Adjust events. User consent choices travel with the data, so GDPR and Samsung's interest-based-ads opt-outs are respected automatically.

Event taxonomy · GDPR consent
4
Join ads to subscriptions Amazon Feeds → Snowflake → Tableau

Postbacks, click and impression logs and conversion data are pulled out through Amazon Feeds and loaded into Snowflake. There they are joined to the subscription database on the Joyn account ID. Tableau dashboards show campaign ROI, trial-to-paid conversion and 30, 60 and 90-day retention for Samsung spend.

Snowflake · Tableau · Amazon Feeds
How the data flows
Samsung TV→Joyn event & queue service→Adjust
Adjust splits toSamsung Ads · bid feedbackandAmazon Feeds→Snowflake→Tableau · LTV & subscription ROI

What the pipeline made possible

€15M
Annual TV budget put to work
Deployed on Samsung devices
0
Tracking code added to the TV app
Startup and playback unaffected
30/60/90
Day retention by Samsung campaign
Plus trial-to-paid conversion

From ad impressions to a cost per subscriber

⚡

The full budget could be spent with confidence

Marketing launched the entire €15M CTV programme on Samsung screens, with each campaign judged on subscriptions and retention rather than installs alone.

⊕

No attribution blind spots

Smart TV ad exposure is linked directly to trial starts, paid activations and retention.

↻

Lower acquisition cost through bidding

Campaign-level ROI in Tableau and live feedback to Samsung let teams shift bids toward what pays back, bringing down CTV cost per customer.

✕

A fast, stable TV app

Because collection lives in the backend, the Tizen app keeps its startup speed and playback stability.

⟲

Privacy built into the flow

Consent states are passed along with every event, so opt-outs are honoured without manual checks.

Let's talk

Tackling something like this?

Tell me your biggest data or AI bottleneck and I'll send you how I'd approach it — the same way I worked this problem. No résumé dump, no pitch. Just a useful conversation.

Start the conversation →