pixellint

CM360 tracking tags report duplicate singleton parameters.

CM360 tracking tags check their existing ID and privacy contracts and report repeated singleton assignments. The duplicate advice covers dc_trk_aid, dc_trk_cid, dc_lat, tfua, tag_for_child_directed_treatment, dc_rdid, ord and ltd.

Empty privacy slots and unresolved template values remain permitted. Repeated assignments still count, including empty and macro values. Unknown extension parameters remain open. Delivery, runtime expansion, ownership and cache-buster randomness need external context.

What this pack matches

Hosts
doubleclick.net
Paths
Full path expression: ^/(?:ddm/)?track(?:imp|clk)(?:[;/].*)?$
Vendor docs
support.google.com/campaignmanager/answer/2829774

Rules

Codes are stable. A finding in CI, MCP, or the playground lands on the same id.

Field Required What it checks Rule ids Source
dc_trk_aid required It is the numeric tracking ad ID. Campaign Manager 360 flags a tracking tag as missing required parameters when dc_trk_aid is absent. Fix: Export the tag again from Campaign Manager 360 so dc_trk_aid is present. vendor.cm360-tracking-ad.param.dc_trk_aid.missing
vendor.cm360-tracking-ad.param.dc_trk_aid.empty
vendor.cm360-tracking-ad.param.dc_trk_aid.invalid
docs
dc_trk_cid required It is the numeric tracking creative ID. Campaign Manager 360 flags a tracking tag as missing required parameters when dc_trk_cid is absent. Fix: Export the tag again from Campaign Manager 360 so dc_trk_cid is present. vendor.cm360-tracking-ad.param.dc_trk_cid.missing
vendor.cm360-tracking-ad.param.dc_trk_cid.empty
vendor.cm360-tracking-ad.param.dc_trk_cid.invalid
docs
dc_lat optional It is the limited-ads signal. Google documents dc_lat=1 when Limit Ad Tracking is on for IDFA or AdID, and 0 when it is off. Generated tracking tags leave the slot empty until the publisher fills it. Fix: Send dc_lat=1 when Limit Ad Tracking is on, dc_lat=0 when it is off, or leave the generated empty slot. vendor.cm360-tracking-ad.param.dc_lat.empty
vendor.cm360-tracking-ad.param.dc_lat.invalid
docs
tfua optional It is the under-age signal. Google documents tfua on generated tracking ads. Exported tags leave it empty until a CMP fills it. Fix: Send tfua=1 when the request may come from a user under 16, otherwise 0 or leave the generated empty slot. vendor.cm360-tracking-ad.param.tfua.empty
vendor.cm360-tracking-ad.param.tfua.invalid
docs
tag_for_child_directed_treatment optional It is the COPPA signal. Google documents tag_for_child_directed_treatment=1 when the request may come from a user under 13. Generated tracking tags leave the slot empty until the publisher fills it. Fix: Send tag_for_child_directed_treatment=1 for COPPA traffic, 0 otherwise, or leave the generated empty slot. vendor.cm360-tracking-ad.param.tag_for_child_directed_treatment.empty
vendor.cm360-tracking-ad.param.tag_for_child_directed_treatment.invalid
docs
dc_rdid optional The vendor documents `dc_rdid` in the request contract. vendor.cm360-tracking-ad.param.dc_rdid.empty
vendor.cm360-tracking-ad.param.dc_rdid.invalid
docs
ord optional The vendor documents `ord` in the request contract. Value diagnostic severity: warning. vendor.cm360-tracking-ad.param.ord.empty
vendor.cm360-tracking-ad.param.ord.invalid
docs
ltd optional The vendor documents `ltd` in the request contract. vendor.cm360-tracking-ad.param.ltd.empty
vendor.cm360-tracking-ad.param.ltd.invalid
docs
duplicate.dc_trk_aid recommended CM360 warns that duplicate dc_trk_aid key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.dc_trk_aid docs
duplicate.dc_trk_cid recommended CM360 warns that duplicate dc_trk_cid key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.dc_trk_cid docs
duplicate.dc_lat recommended CM360 warns that duplicate dc_lat key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.dc_lat docs
duplicate.tfua recommended CM360 warns that duplicate tfua key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.tfua docs
duplicate.tag_for_child_directed_treatment recommended CM360 warns that duplicate tag_for_child_directed_treatment key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.tag_for_child_directed_treatment docs
duplicate.dc_rdid recommended CM360 warns that duplicate dc_rdid key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.dc_rdid docs
duplicate.ord recommended CM360 warns that duplicate ord key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.ord docs
duplicate.ltd recommended CM360 warns that duplicate ltd key-value pairs can affect serving and reporting. Preserve one complete generated value. Fix: Compare the tracker with the exported CM360 tag and remove the repeated assignment. vendor.cm360-tracking-ad.duplicate.ltd docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/cm360-tracking-ad

Try this failing payload in the playground. A CM360 impression with a duplicate tracking ad ID.

https://ad.doubleclick.net/ddm/trackimp/N1.B1;dc_trk_aid=123;dc_trk_cid=456;dc_trk_aid=123;

cargo install pixellint · npm install pixellint