pixellint

Ad Manager /gampad/ads requests need iu, sz, output, env, gdfp_req, and correlator

Google documents iu, sz, output, env, gdfp_req, and correlator as required to implement ad serving, and description_url as required for web and recommended for programmatic. aconp is continuous audio, dth is a device type hint, hl is an ISO 639 language code, givn is the PAL nonce, and omid_p plus sdk_apis declare Open Measurement. pagead/interaction and pcs/view stay directory-only. Floodlight stays vendor/floodlight. CM360 VAST events stay vendor/cm360-vast-event.

iu is the ad unit, including the network code

A /gampad/ads request without iu is not tied to an Ad Manager ad unit.

Rule: vendor.google-ad-manager.param.iu.missing

What this pack matches

Hosts
pubads.g.doubleclick.net, securepubads.g.doubleclick.net, pagead2.googlesyndication.com
Paths
…/gampad/ads…, …/gampad/live/ads…
Vendor docs
support.google.com/admanager/answer/10655276

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
iu required It is the ad unit path, including the network code, in the form /network_code/.../ad_unit. Google documents iu as required to implement ad serving. Fix: Set iu to the Ad Manager ad unit path, such as /6062/videodemo. vendor.google-ad-manager.param.iu.missing
vendor.google-ad-manager.param.iu.empty
vendor.google-ad-manager.param.iu.invalid
docs
sz optional The primary video slot size is required for video requests. Audio-only requests may omit sz. Multiple sizes use a pipe separator. Presence diagnostic severity: error. Value diagnostic severity: error. Fix: Set sz to the player size, such as 640x480 or 300x250|400x300. vendor.google-ad-manager.param.sz.empty
vendor.google-ad-manager.param.sz.invalid
docs
output required It is the ad response format. Google documents output as required, with vast, xml_vast4, vmap, xml_vmap1, and xml_vmap1_vast4 as the published values. Fix: Set output to vast, xml_vast4, vmap, or the VMAP/VAST combination your player expects. vendor.google-ad-manager.param.output.missing
vendor.google-ad-manager.param.output.empty
vendor.google-ad-manager.param.output.invalid
docs
env required It marks an in-stream or video-player request. Google documents env as required, with instream for video or audio and vp for video only. Fix: Set env=vp for video or env=instream when the request may return audio. vendor.google-ad-manager.param.env.missing
vendor.google-ad-manager.param.env.empty
vendor.google-ad-manager.param.env.invalid
docs
gdfp_req required It is the Google Ad Manager schema indicator. Google documents gdfp_req=1 as required to implement ad serving. Fix: Set gdfp_req=1. vendor.google-ad-manager.param.gdfp_req.missing
vendor.google-ad-manager.param.gdfp_req.empty
vendor.google-ad-manager.param.gdfp_req.invalid
docs
correlator required It is a random positive integer shared by requests from the same page view. Google documents correlator as required to implement ad serving, including competitive exclusions. Minimum numeric value: 1. Fix: Set correlator to a fresh random positive integer per page view, not reused across views. vendor.google-ad-manager.param.correlator.missing
vendor.google-ad-manager.param.correlator.empty
vendor.google-ad-manager.param.correlator.invalid
docs
description_url recommended It is a crawlable page that describes the video on this request, not the site home page. Google documents it as required for web and mobile app ad serving, and recommended for programmatic. Fix: Set description_url to the content page for this video, URL-encoded on web. vendor.google-ad-manager.param.description_url.missing
vendor.google-ad-manager.param.description_url.empty
vendor.google-ad-manager.param.description_url.invalid
docs
unviewed_position_start optional It marks delayed impressions for video. Google documents unviewed_position_start=1 as required for web and mobile apps when the impression is delayed. Fix: Set unviewed_position_start=1 on delayed-impression VAST tags. vendor.google-ad-manager.param.unviewed_position_start.empty
vendor.google-ad-manager.param.unviewed_position_start.invalid
docs
url optional It is the page or inventory URL the request was sent from. Google documents url as required for programmatic monetization, distinct from description_url. Fix: Set url to the encoded page URL on web, or the closest inventory URL off-web. vendor.google-ad-manager.param.url.empty
vendor.google-ad-manager.param.url.invalid
docs
plcmt optional It is the IAB placement. Google documents plcmt as required for programmatic, with 1 for instream and 2 for accompanying content. Fix: Set plcmt=1 for instream or plcmt=2 for accompanying content. vendor.google-ad-manager.param.plcmt.empty
vendor.google-ad-manager.param.plcmt.invalid
docs
vpa optional It says whether content starts on autoplay or click. Google documents vpa as required for programmatic. Leave it unset when unknown. Fix: Set vpa=auto or vpa=click, or omit it when playback start is unknown. vendor.google-ad-manager.param.vpa.empty
vendor.google-ad-manager.param.vpa.invalid
docs
vpmute optional It says whether ad playback starts muted. Google documents vpmute as required for programmatic, with 1 muted and 0 unmuted. Fix: Set vpmute=1 when playback starts muted, or vpmute=0 when it starts unmuted. vendor.google-ad-manager.param.vpmute.empty
vendor.google-ad-manager.param.vpmute.invalid
docs
ott_placement optional It names a non-standard OTT placement. Google documents ott_placement as required for programmatic pause, homescreen, PIP, L-banner, overlay, or custom CTV, and unnecessary for standard instream. Fix: Set ott_placement to 1 through 5 or 99 for those OTT formats. Omit it for standard instream. vendor.google-ad-manager.param.ott_placement.empty
vendor.google-ad-manager.param.ott_placement.invalid
docs
vpos optional It is the pod position. Google documents vpos as recommended for programmatic. Ad rules set it automatically. Fix: Set vpos to preroll, midroll, or postroll when you are not using ad rules. vendor.google-ad-manager.param.vpos.empty
vendor.google-ad-manager.param.vpos.invalid
docs
vconp optional It says whether the player intends to play video continuously. Google documents vconp as recommended for programmatic, with 2 on and 1 off. Leave it unset when unknown. Fix: Set vconp=2 for continuous play, vconp=1 when it is off, or omit it when unknown. vendor.google-ad-manager.param.vconp.empty
vendor.google-ad-manager.param.vconp.invalid
docs
wta optional It says whether the player will render the AdChoices icon from VAST. Google documents wta as recommended for programmatic. Omit it, send 1, or send an empty pair when the player renders the icon. Fix: Set wta=1 when the player renders AdChoices, or wta=0 only when it will not. vendor.google-ad-manager.param.wta.empty
vendor.google-ad-manager.param.wta.invalid
docs
aconp optional It says whether the player intends to play audio continuously. Google documents aconp=2 on, aconp=1 off, and aconp=0 when unknown. Fix: Set aconp=2 for continuous audio, aconp=1 when it is off, or aconp=0 when unknown. vendor.google-ad-manager.param.aconp.empty
vendor.google-ad-manager.param.aconp.invalid
docs
dth optional It is a device type hint. Google documents 1 feature phone, 2 smart phone, 3 desktop, 4 tablet, 5 connected TV, 6 game console, and 7 set top box. Fix: Set dth to 1 through 7 for the device class of this request. vendor.google-ad-manager.param.dth.empty
vendor.google-ad-manager.param.dth.invalid
docs
hl optional It is the request language. Google documents an ISO 639-1 two-letter or ISO 639-2 three-letter code. Fix: Set hl to a two- or three-letter language code, such as it or eng. vendor.google-ad-manager.param.hl.empty
vendor.google-ad-manager.param.hl.invalid
docs
givn optional It is the PAL video nonce. Google documents givn as the replacement for paln, and says not to send both. Fix: Send the PAL nonce in givn, or drop the empty pair. Do not also send paln. vendor.google-ad-manager.param.givn.empty docs
omid_p optional It is the OMID partner name and version when PAL is not used. Google documents a value such as examplepartnername/1.0.0.0. Fix: Send omid_p as partner/version when you are not using PAL or the IMA SDK. vendor.google-ad-manager.param.omid_p.empty docs
sdk_apis optional AdCOM frameworks1..9 or vendor-specific codes500andabove. Unregistered lower codes receive an advisory because the registry can grow. Value diagnostic severity: error. Fix: Send sdk_apis as one or more integer API framework values, comma-separated. vendor.google-ad-manager.param.sdk_apis.empty
vendor.google-ad-manager.param.sdk_apis.invalid
docs
vid_d optional It is content duration in seconds. Google documents vid_d as recommended for programmatic mid-rolls without content ingestion. Fix: Set vid_d to the content duration in seconds when requesting mid-rolls. vendor.google-ad-manager.param.vid_d.empty
vendor.google-ad-manager.param.vid_d.invalid
docs
ad_type optional The vendor documents `ad_type` in the request contract. vendor.google-ad-manager.param.ad_type.empty
vendor.google-ad-manager.param.ad_type.invalid
docs
ad_rule optional The vendor documents `ad_rule` in the request contract. vendor.google-ad-manager.param.ad_rule.empty
vendor.google-ad-manager.param.ad_rule.invalid
docs
gdpr optional The vendor documents `gdpr` in the request contract. vendor.google-ad-manager.param.gdpr.empty
vendor.google-ad-manager.param.gdpr.invalid
docs
is_lat optional The vendor documents `is_lat` in the request contract. vendor.google-ad-manager.param.is_lat.empty
vendor.google-ad-manager.param.is_lat.invalid
docs
ltd optional The vendor documents `ltd` in the request contract. vendor.google-ad-manager.param.ltd.empty
vendor.google-ad-manager.param.ltd.invalid
docs
nofb optional The vendor documents `nofb` in the request contract. vendor.google-ad-manager.param.nofb.empty
vendor.google-ad-manager.param.nofb.invalid
docs
npa optional The vendor documents `npa` in the request contract. vendor.google-ad-manager.param.npa.empty
vendor.google-ad-manager.param.npa.invalid
docs
rdp optional The vendor documents `rdp` in the request contract. vendor.google-ad-manager.param.rdp.empty
vendor.google-ad-manager.param.rdp.invalid
docs
ppt optional The vendor documents `ppt` in the request contract. vendor.google-ad-manager.param.ppt.empty
vendor.google-ad-manager.param.ppt.invalid
docs
tfcd optional The vendor documents `tfcd` in the request contract. vendor.google-ad-manager.param.tfcd.empty
vendor.google-ad-manager.param.tfcd.invalid
docs
vpi optional The vendor documents `vpi` in the request contract. vendor.google-ad-manager.param.vpi.empty
vendor.google-ad-manager.param.vpi.invalid
docs
an optional The vendor documents `an` in the request contract. vendor.google-ad-manager.param.an.empty docs
msid optional The vendor documents `msid` in the request contract. vendor.google-ad-manager.param.msid.empty docs
ct_ch optional The vendor documents `ct_ch` in the request contract. vendor.google-ad-manager.param.ct_ch.empty docs
ct_ne optional The vendor documents `ct_ne` in the request contract. vendor.google-ad-manager.param.ct_ne.empty docs
ct_se optional The vendor documents `ct_se` in the request contract. vendor.google-ad-manager.param.ct_se.empty docs
ct_ti optional The vendor documents `ct_ti` in the request contract. vendor.google-ad-manager.param.ct_ti.empty docs
cust_params optional Custom targeting is an encoded query of key=value pairs joined by ampersands. A key may have comma-separated values. vendor.google-ad-manager.param.cust_params.empty
vendor.google-ad-manager.param.cust_params.invalid
docs
ipd optional The vendor documents `ipd` in the request contract. vendor.google-ad-manager.param.ipd.empty docs
paln optional The vendor documents `paln` in the request contract. vendor.google-ad-manager.param.paln.empty docs
pp optional The vendor documents `pp` in the request contract. vendor.google-ad-manager.param.pp.empty docs
ppid optional A publisher-provided ID has 22 to 150 characters from the documented alphanumeric and punctuation set. Its hash/encryption provenance requires external evidence. Minimum decoded characters: 22. Maximum decoded characters: 150. vendor.google-ad-manager.param.ppid.empty
vendor.google-ad-manager.param.ppid.invalid
docs
ptpl optional The vendor documents `ptpl` in the request contract. vendor.google-ad-manager.param.ptpl.empty docs
ptpln optional The vendor documents `ptpln` in the request contract. vendor.google-ad-manager.param.ptpln.empty docs
pvid optional The vendor documents `pvid` in the request contract. vendor.google-ad-manager.param.pvid.empty docs
rdid optional Resettable device identifiers contain 32 alphanumeric characters and four hyphens grouped 8-4-4-4-12. vendor.google-ad-manager.param.rdid.empty
vendor.google-ad-manager.param.rdid.invalid
docs
ssss optional The vendor documents `ssss` in the request contract. vendor.google-ad-manager.param.ssss.empty docs
addtl_consent optional Google Additional Consent v1 or v2. ACv2 has consented IDs and a disclosed dv list; the dot after dv is optional only when that list is empty. Fix: Send an ACv1 string such as 1~1.35 or an ACv2 string such as 2~1.10~dv.2.3.4. vendor.google-ad-manager.param.addtl_consent.empty
vendor.google-ad-manager.param.addtl_consent.invalid
docs
gdpr_consent optional The vendor documents `gdpr_consent` in the request contract. vendor.google-ad-manager.param.gdpr_consent.empty docs
us_privacy optional The vendor documents `us_privacy` in the request contract. vendor.google-ad-manager.param.us_privacy.empty docs
venuetype optional OpenOOH version1.1 venue enumeration ID, as linked by Google Ad Manager. Minimum numeric value: 0. vendor.google-ad-manager.param.venuetype.empty
vendor.google-ad-manager.param.venuetype.invalid
docs
cmsid optional The vendor documents `cmsid` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.cmsid.empty
vendor.google-ad-manager.param.cmsid.invalid
docs
mridx optional The vendor documents `mridx` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.mridx.empty
vendor.google-ad-manager.param.mridx.invalid
docs
pmad optional The vendor documents `pmad` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pmad.empty
vendor.google-ad-manager.param.pmad.invalid
docs
pod optional The vendor documents `pod` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pod.empty
vendor.google-ad-manager.param.pod.invalid
docs
ppos optional The vendor documents `ppos` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.ppos.empty
vendor.google-ad-manager.param.ppos.invalid
docs
scor optional The vendor documents `scor` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.scor.empty
vendor.google-ad-manager.param.scor.invalid
docs
max_ad_duration optional The vendor documents `max_ad_duration` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.max_ad_duration.empty
vendor.google-ad-manager.param.max_ad_duration.invalid
docs
min_ad_duration optional The vendor documents `min_ad_duration` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.min_ad_duration.empty
vendor.google-ad-manager.param.min_ad_duration.invalid
docs
pmnd optional The vendor documents `pmnd` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pmnd.empty
vendor.google-ad-manager.param.pmnd.invalid
docs
pmxd optional The vendor documents `pmxd` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pmxd.empty
vendor.google-ad-manager.param.pmxd.invalid
docs
pmxfwt optional The vendor documents `pmxfwt` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pmxfwt.empty
vendor.google-ad-manager.param.pmxfwt.invalid
docs
sdmax optional The vendor documents `sdmax` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.sdmax.empty
vendor.google-ad-manager.param.sdmax.invalid
docs
pubf optional The vendor documents `pubf` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pubf.empty
vendor.google-ad-manager.param.pubf.invalid
docs
pvtf optional The vendor documents `pvtf` in the request contract. Minimum numeric value: 0. vendor.google-ad-manager.param.pvtf.empty
vendor.google-ad-manager.param.pvtf.invalid
docs
adtest optional The vendor documents `adtest` in the request contract. vendor.google-ad-manager.param.adtest.empty
vendor.google-ad-manager.param.adtest.invalid
docs
devt optional The vendor documents `devt` in the request contract. vendor.google-ad-manager.param.devt.empty
vendor.google-ad-manager.param.devt.invalid
docs
ipe optional The vendor documents `ipe` in the request contract. vendor.google-ad-manager.param.ipe.empty
vendor.google-ad-manager.param.ipe.invalid
docs
pvid_s optional The vendor documents `pvid_s` in the request contract. vendor.google-ad-manager.param.pvid_s.empty
vendor.google-ad-manager.param.pvid_s.invalid
docs
tfat optional The vendor documents `tfat` in the request contract. vendor.google-ad-manager.param.tfat.empty
vendor.google-ad-manager.param.tfat.invalid
docs
trt optional The vendor documents `trt` in the request contract. vendor.google-ad-manager.param.trt.empty
vendor.google-ad-manager.param.trt.invalid
docs
vad_type optional The vendor documents `vad_type` in the request contract. vendor.google-ad-manager.param.vad_type.empty
vendor.google-ad-manager.param.vad_type.invalid
docs
idtype optional Device identifier types use the documented case-sensitive names. vendor.google-ad-manager.param.idtype.empty
vendor.google-ad-manager.param.idtype.invalid
docs
sid optional The vendor documents `sid` in the request contract. vendor.google-ad-manager.param.sid.empty
vendor.google-ad-manager.param.sid.invalid
docs
afvsz optional The vendor documents `afvsz` in the request contract. vendor.google-ad-manager.param.afvsz.empty
vendor.google-ad-manager.param.afvsz.invalid
docs
ciu_szs optional The vendor documents `ciu_szs` in the request contract. vendor.google-ad-manager.param.ciu_szs.empty
vendor.google-ad-manager.param.ciu_szs.invalid
docs
allcues optional The vendor documents `allcues` in the request contract. vendor.google-ad-manager.param.allcues.empty
vendor.google-ad-manager.param.allcues.invalid
docs
iabexcl optional Comma-separated registered numeric Content Taxonomy3.0 IDs from the current vendor-linked registry. Unregistered IDs are advisory to permit later registry revisions. Value diagnostic severity: error. vendor.google-ad-manager.param.iabexcl.empty
vendor.google-ad-manager.param.iabexcl.invalid
docs
vid optional The vendor documents `vid` in the request contract. vendor.google-ad-manager.param.vid.empty docs
ppsj optional The vendor documents `ppsj` in the request contract. vendor.google-ad-manager.param.ppsj.empty docs
ssj optional The vendor documents `ssj` in the request contract. vendor.google-ad-manager.param.ssj.empty docs
video_slot_size_required required The request does not satisfy the documented video slot size required requirement. vendor.google-ad-manager.video_slot_size_required docs
audio_requires_unmuted required The request does not satisfy the documented audio requires unmuted requirement. vendor.google-ad-manager.audio_requires_unmuted docs
audio_is_unmuted required The request does not satisfy the documented audio is unmuted requirement. vendor.google-ad-manager.audio_is_unmuted docs
audio_environment required The request does not satisfy the documented audio environment requirement. vendor.google-ad-manager.audio_environment docs
pal_nonce_exclusive required The request does not satisfy the documented pal nonce exclusive requirement. vendor.google-ad-manager.pal_nonce_exclusive docs
gdpr_requires_consent required The request does not satisfy the documented gdpr requires consent requirement. vendor.google-ad-manager.gdpr_requires_consent docs
set_top_box_hint_required required The request does not satisfy the documented set top box hint required requirement. vendor.google-ad-manager.set_top_box_hint_required docs
set_top_box_hint required The request does not satisfy the documented set top box hint requirement. vendor.google-ad-manager.set_top_box_hint docs
content_source_requires_video required The request does not satisfy the documented content source requires video requirement. vendor.google-ad-manager.content_source_requires_video docs
video_requires_content_source required The request does not satisfy the documented video requires content source requirement. vendor.google-ad-manager.video_requires_content_source docs
pod_fields_not_vmap required The request does not satisfy the documented pod fields not vmap requirement. vendor.google-ad-manager.pod_fields_not_vmap docs
cues_require_duration required The request does not satisfy the documented cues require duration requirement. vendor.google-ad-manager.cues_require_duration docs
ad_duration_range required The request does not satisfy the documented ad duration range requirement. vendor.google-ad-manager.ad_duration_range docs
pod_duration_range required The request does not satisfy the documented pod duration range requirement. vendor.google-ad-manager.pod_duration_range docs
sdk_apis_registry recommended The value includes an ID outside the current vendor-linked registry. vendor.google-ad-manager.sdk_apis_registry docs
iabexcl_registry recommended The value includes an ID outside the current vendor-linked registry. vendor.google-ad-manager.iabexcl_registry docs
additional_consent_requires_tc_string required Google discards an Additional Consent string without a TC string in the same request. vendor.google-ad-manager.additional_consent_requires_tc_string docs
root optional Decoded body source: ppsj. Encoding: base64_json. Native JSON type: object. vendor.google-ad-manager.body.root.invalid docs
PublisherProvidedTaxonomySignals optional Decoded body source: ppsj. Encoding: base64_json. Native JSON type: array. vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals.invalid docs
PublisherProvidedTaxonomySignals[] optional Decoded body source: ppsj. Encoding: base64_json. Native JSON type: object. vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].invalid docs
PublisherProvidedTaxonomySignals[].taxonomy required Decoded body source: ppsj. Encoding: base64_json. Native JSON type: string. vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].taxonomy.missing
vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].taxonomy.invalid
docs
PublisherProvidedTaxonomySignals[].values required Decoded body source: ppsj. Encoding: base64_json. Native JSON type: array. vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].values.missing
vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].values.invalid
docs
PublisherProvidedTaxonomySignals[].values[] optional Decoded body source: ppsj. Encoding: base64_json. Native JSON type: string. vendor.google-ad-manager.body.PublisherProvidedTaxonomySignals[].values[].invalid docs
root optional Decoded body source: ssj. Encoding: base64_json. Native JSON type: object. vendor.google-ad-manager.body.root.invalid docs
signals optional Decoded body source: ssj. Encoding: base64_json. Native JSON type: array. vendor.google-ad-manager.body.signals.invalid docs
signals[] optional Decoded body source: ssj. Encoding: base64_json. Native JSON type: object. vendor.google-ad-manager.body.signals[].invalid docs
signals[].source required Decoded body source: ssj. Encoding: base64_json. Native JSON type: string. vendor.google-ad-manager.body.signals[].source.missing
vendor.google-ad-manager.body.signals[].source.invalid
docs
signals[].data required Decoded body source: ssj. Encoding: base64_json. Native JSON type: string. vendor.google-ad-manager.body.signals[].data.missing
vendor.google-ad-manager.body.signals[].data.invalid
docs
signals[].isPubCreated required Decoded body source: ssj. Encoding: base64_json. Native JSON type: boolean. vendor.google-ad-manager.body.signals[].isPubCreated.missing
vendor.google-ad-manager.body.signals[].isPubCreated.invalid
docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/google-ad-manager

Try this failing payload in the playground. Ad Manager ad request missing iu.

https://securepubads.g.doubleclick.net/gampad/ads?sz=640x480&output=vast&env=vp&gdfp_req=1&correlator=4345645667&description_url=https%3A%2F%2Fwww.sample.com%2Fgolf.html

cargo install pixellint · npm install pixellint