-
Notifications
You must be signed in to change notification settings - Fork 15
feat: Add tracking pixel macro substitution for GAM adapter #944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
igorantun
wants to merge
3
commits into
adcontextprotocol:main
Choose a base branch
from
igorantun:igorantun/tracking-pixels
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: Add tracking pixel macro substitution for GAM adapter #944
igorantun
wants to merge
3
commits into
adcontextprotocol:main
from
igorantun:igorantun/tracking-pixels
Conversation
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
Add AdCP-to-GAM macro mapping utilities for tracking URLs:
- Map AdCP universal macros ({CACHEBUSTER}, {GDPR}, etc.) to GAM equivalents
- Support multiple GAM macro formats (%%MACRO%%, ${MACRO}, %macro!)
- Passthrough unmapped macros to preserve third-party tracking
- Fix tracking URL field path in creatives manager
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Contributor
|
All contributors have agreed to the IPR Policy. Thank you! |
Author
|
I have read the IPR Policy |
igorantun
commented
Jan 8, 2026
igorantun
commented
Jan 8, 2026
bokelley
reviewed
Jan 10, 2026
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
3784539 to
029a784
Compare
bokelley
requested changes
Jan 12, 2026
Contributor
bokelley
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make sure click urls work with GAM click tracking, that imp trackers fire properly, and that axem is filled out. use wonderstruck
- Fix impression tracking for ImageRedirectCreative and CustomCreative
to use thirdPartyImpressionTrackingUrls field
- Fix VideoRedirectCreative to use trackingUrls with CREATIVE_VIEW event
- Map {AXEM} to %{AXEM} (prebid macro format)
- Remove click tracking URL handling - clicks should be tracked via
macros in the creative snippet per GAM documentation
- Add unit tests for creative type field mapping
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.
Summary
src/adapters/gam/utils/macros.py{CACHEBUSTER},{GDPR},{AXEM}, etc.) to their GAM equivalents%%MACRO%%(standard),${MACRO}(GDPR/TCF),%macro!(expand),%{MACRO}(prebid)ThirdPartyCreative,ImageRedirectCreative,CustomCreative→thirdPartyImpressionTrackingUrlsVideoRedirectCreative→trackingUrlswithCREATIVE_VIEWevent%%CLICK_URL%%macros in snippet per GAM best practices)Macro Mapping Highlights
{CACHEBUSTER}%%CACHEBUSTER%%{GDPR}${GDPR}{CLICK_URL}%%CLICK_URL_ESC%%{PLACEMENT_ID}%epid!{AXEM}%{AXEM}{GDPR_CONSENT}{GPP_STRING}Test plan
tests/unit/test_gam_macros.py)🤖 Generated with Claude Code