What is CTV?
Connected TV (CTV) refers to ads served on internet-connected televisions and streaming devices (smart TVs, streaming sticks, gaming consoles, etc.). Since users typically can't click an ad directly on a TV screen to download an app, CTV attribution is impression-based rather than click-based. As a result, CTV campaigns generally rely on View-Through Attribution (VTA): a conversion (e.g. an app install) is attributed to an ad impression the user saw, even though they never clicked it.
Setting Up a CTV Offer in Swaarm
To track CTV impressions and attribute conversions to them, configure the following on the offer:
Go to Offer → Edit → General tab and check VTA Enabled, then Save
Set the offer's OS/Platform to Web, this allows traffic from CTV devices to pass through, since they aren't a standard mobile OS
Go to the Landing Pages tab and add the advertiser's/MMP's Impression Tracking URL
⚠️ VTA must also be enabled at the organisation level under Organization → Settings → Miscellaneous → Attribution, otherwise it will not work even if enabled on the offer.
(Settings section only available for users with role 'Admin')
💡 When configuring the impression tracking link, make sure it includes whatever the advertiser/MMP requires to identify the impression as CTV, and to resolve it to a device or household. This typically includes the user's IP address and User-Agent (UA), at minimum, since CTV devices can't be identified with mobile device IDs the way app installs normally are.
Checking CTV Conversions in the Conversion Report
Once traffic is flowing, verify that conversions are being correctly attributed to impressions:
Go to Reports → Conversion Report
Click Select Columns and add Postback Impression Attribution
Click Generate Report
✅ - conversion attributed to an impression (VTA), i.e. a CTV conversion
❌ - conversion attributed to a click (standard)
Use Case: CTV via Singular
Singular is a common MMP source for CTV inventory. To pass a Singular CTV impression link into Swaarm as the offer's Impression Tracking URL:
The link must include the
p=ctvsegment, so Singular can identify the impression as CTVThe link must also pass the user's IP address (
&ip=parameter) and User-Agent (&ua=parameter)
Sample link - https://app.sng.link/1234/azwq?&pscn=MyAPP_US_June&ip={user.ip}&ua={user.ua}&pssid={publisher.subId}&p=ctv&pshid={publisher.id}&cl={id}






