Skip to content

Conversation

@BaiyuScope3
Copy link
Collaborator

@BaiyuScope3 BaiyuScope3 commented Jan 15, 2026

Summary

Add optional click_tracker asset support for 3rd party click tracking across display, generative, HTML, JS, VAST, and native ad formats.

Changes

New Helper Function

Added create_click_tracker_asset() that creates an optional URL asset with:

  • asset_id: click_tracker
  • url_type: tracker_redirect (distinguishes from impression trackers which use tracker_pixel)
  • required: False (optional for all formats)

Updated Formats (27 total)

Category Count Formats
AI Generative 8 display_generative, display_300x250_generative, display_728x90_generative, display_320x50_generative, display_160x600_generative, display_336x280_generative, display_300x600_generative, display_970x250_generative
Display Image 8 display_image, display_300x250_image, display_728x90_image, display_320x50_image, display_160x600_image, display_336x280_image, display_300x600_image, display_970x250_image
Display HTML 8 display_html, display_300x250_html, display_728x90_html, display_160x600_html, display_336x280_html, display_300x600_html, display_970x250_html
Display JS 1 display_js
VAST Video 2 video_vast, video_vast_30s
Native 1 native_content

Formats NOT Updated

Category Reason
Audio No visual element to click
DOOH Digital billboards - no direct click interaction
Standard Video Video file playback without external click handling

Usage

Advertisers can now provide a 3rd party click tracking URL:

{
"format_id": { "agent_url": "...", "id": "display_300x250_image" },
"input": {
"banner_image": { "url": "https://..." },
"click_url": { "url": "https://advertiser.com/landing" },
"impression_tracker": { "url": "https://tracker.com/impression" },
"click_tracker": { "url": "https://tracker.com/click?redirect=${CLICK_URL}" }
}
}

Added create_click_tracker_asset() helper function for 3rd party click
tracking redirect URLs.

Added click_tracker to 9 clickable formats:
- display_image (responsive)
- display_300x250_image
- display_728x90_image
- display_320x50_image
- display_160x600_image
- display_336x280_image
- display_300x600_image
- display_970x250_image
- native_content

Click tracker is optional (required=False) and uses url_type='tracker_redirect'
to distinguish from impression trackers.
@BaiyuScope3 BaiyuScope3 marked this pull request as ready for review January 15, 2026 19:13
@bokelley
Copy link
Contributor

I think you can add click trackers to JS and HTML, as well as to vast

- Test click_tracker asset properties (id, type, required, url_type)
- Test click_tracker is only on clickable formats (9 total)
- Test click_tracker is NOT on audio/video/dooh formats
Added click_tracker to 10 additional formats:
- display_html (+ 7 sized variants)
- display_js
- video_vast
- video_vast_30s

Total formats with click_tracker: 19

Updated tests to reflect new coverage.
Fixes RUF012 linter warning about mutable class attributes.
@BaiyuScope3
Copy link
Collaborator Author

BaiyuScope3 commented Jan 15, 2026

Local test
image

Added click_tracker to 8 generative formats:
- display_generative (+ 7 sized variants)

Total formats with click_tracker: 27
@BaiyuScope3 BaiyuScope3 merged commit a3c394a into main Jan 15, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants