{MEDIA_BUY_ID} and {PACKAGE_ID} as text, and no ad
server fills those, so impressions and clicks from a copied template cannot be
attributed to your buy.
The campaign creative read returns the trackers to traffic for each package
the creative runs in. They are the same bytes Apostra sends that buy’s seller
when it syncs the creative.
Read them
Read the creative with its campaign:
Serve-time macros such as
{CACHEBUSTER} stay in the URLs. The ad server fills
them when the ad serves.
Only a campaign creative read carries these fields. Reading the creative by its
advertiser, searching creatives, and saving a creative do not return them.
Which media buys and packages
There is one row for each package a seller reported the creative assigned to, in each of the campaign’s media buys that has been submitted to its seller and is not finished, canceled or archived. A draft media buy is not listed. Each other submitted media buy is inplacementTrackersPending, with the reason
it has no row:
An empty
placementTrackers means there is nothing to traffic yet. When the
trackers could not be read, both fields are null and the rest of the creative
is still returned; read it again.
What is not listed
Third-party trackers you added to the creative, and the playback trackers (start, quartiles, complete) of a video Apostra hosts, are not listed. They stay on the creative.How this differs from AdCP
AdCP 3.3 returns trackers on a creative’s package assignment too (trackers
and landing_page_url on assigned_packages[] in list_creatives and
get_media_buys). Those are templates, kept as the seller accepted them, and
they leave out the creative’s own trackers. The trackers to traffic are the
creative’s own Apostra trackers for one package, with Apostra’s ids filled in.
Each row uses AdCP’s own shapes for its values.