ViewFi enables brands to distribute video reward campaigns on Connected TV platforms. Viewers watch a brand video on TV, scan a QR code displayed alongside or after the video, and claim their reward on mobile.
Supported CTV formats:
1. VAST tag URL provided to CTV partner
2. Partner SSAI requests VAST XML from ViewFi
3. VAST includes HLS/DASH video + companion QR image
4. Video plays on TV, companion QR displays alongside
5. Viewer scans QR with phone
6. Phone opens mobile claim page
7. Viewer claims reward (coupon, voucher, contest entry, etc.)
https://video-rewards.com/api/vast/{campaignId}/ctv
https://video-rewards.com/api/vast/{partnerId}/{campaignId}/ctv
| Parameter | Type | Description |
|---|---|---|
partner |
string | Partner identifier for tracking |
session |
string | Session ID for event correlation |
device |
string | Device type hint (roku, firetv, samsung, lg) |
[TIMESTAMP] — Unix timestamp[CACHEBUSTING] — Cache buster value4.0 compliant
| Format | MIME Type | Delivery | Resolution |
|---|---|---|---|
| HLS (primary) | application/x-mpegURL | streaming | 1920x1080 adaptive |
| DASH (fallback) | application/dash+xml | streaming | 1920x1080 adaptive |
| MP4 (progressive) | video/mp4 | progressive | 1920x1080, H.264 |
| Size | Format | Content |
|---|---|---|
| 300x250 | PNG | Brand logo + QR code + reward CTA |
| 1920x1080 | PNG | Full-screen pause ad with reward display + QR |
Standard VAST tracking events are included:
start, firstQuartile, midpoint, thirdQuartile, completecreativeView, impressionCTV-specific tracking:
ctv_qr_displayed — Companion QR code shownctv_pause_displayed — Pause screen shownGET https://video-rewards.com/api/campaigns/{campaignId}/ctv/qr.png
Returns a standalone QR code PNG. Query params: size (default 400, max 1000).
GET https://video-rewards.com/api/campaigns/{campaignId}/ctv/companion/{width}x{height}.png
Full companion ad with brand logo, QR code, reward description, and CTA.
GET https://video-rewards.com/api/campaigns/{campaignId}/ctv/pause/{width}x{height}.png
Full-screen pause ad creative: brand logo, reward title, description, large QR code, "Scan with your phone to claim reward" CTA.
When a viewer scans the QR code:
https://video-rewards.com/ctv/{campaignId}| Type | Description |
|---|---|
| Coupon | Unique coupon codes |
| Voucher | Digital vouchers (gift cards, discounts) |
| Contest | Prize entry / sweepstakes |
| Airdrop | USDC token transfers |
| Reward Link | Custom reward URLs |
| Fortnite | V-Bucks / cosmetic codes |
Use any active campaign with a Cloudflare Stream video. The VAST tag URL is:
https://video-rewards.com/api/vast/{campaignId}/ctv
Paste the VAST tag URL into the Google VAST Inspector to validate the XML structure.
Use the Google IMA SDK Sample Player with your VAST tag URL to test video playback.
Open the companion image URL in a browser to preview the QR code:
https://video-rewards.com/api/campaigns/{campaignId}/ctv/companion/300x250.png
Scan the QR code with a phone camera to verify the redirect and claim flow works.
Preview the pause screen creative:
https://video-rewards.com/api/campaigns/{campaignId}/ctv/pause/1920x1080.png
For integration support, reach out to the ViewFi team.