pixellint

OneLink impression URLs need a template ID and pid

View-through impression URLs are impressions.onelink.me/{template_id}. The template ID is the same value as the long OneLink. pid is the media source the impression is reported under. api3.appsflyer.com/inappevent is vendor/appsflyer.

What this pack matches

Hosts
impressions.onelink.me
Vendor docs
support.appsflyer.com/hc/en-us/articles/208874366

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
template_id required Long impression URL template ID. The current OneLink FAQ says the template ID is always four characters. This does not apply the editable short-URL ID limit to template IDs. Minimum decoded characters: 4. Maximum decoded characters: 4. Fix: Copy the template ID from the OneLink long URL so the path is /{template ID}. vendor.appsflyer-onelink-impression.param.template_id.missing
vendor.appsflyer-onelink-impression.param.template_id.empty
vendor.appsflyer-onelink-impression.param.template_id.invalid
docs
pid required Required media-source identifier. The published link table limits its decoded value to150 characters. Reserved partner agreement requires account context. Maximum decoded characters: 150. Fix: Set pid to the media source name from the OneLink. vendor.appsflyer-onelink-impression.param.pid.missing
vendor.appsflyer-onelink-impression.param.pid.empty
vendor.appsflyer-onelink-impression.param.pid.invalid
docs
c optional Optional campaign name. AppsFlyer replaces names longer than100 characters with c_name_exceeded_max_length; the limit is a warning because this is accepted input with altered reporting. Value diagnostic severity: warning. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.c.empty
vendor.appsflyer-onelink-impression.param.c.invalid
docs
af_viewthrough_lookback optional View-through ID matching uses 1 to 24 hours. OneLink also documents the equivalent 1d form. Value diagnostic severity: warning. vendor.appsflyer-onelink-impression.param.af_viewthrough_lookback.empty
vendor.appsflyer-onelink-impression.param.af_viewthrough_lookback.invalid
docs
af_prt optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 50. vendor.appsflyer-onelink-impression.param.af_prt.invalid docs
af_siteid optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 24. vendor.appsflyer-onelink-impression.param.af_siteid.invalid docs
af_c_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 24. vendor.appsflyer-onelink-impression.param.af_c_id.invalid docs
af_adset optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_adset.invalid docs
af_adset_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 24. vendor.appsflyer-onelink-impression.param.af_adset_id.invalid docs
af_ad optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_ad.invalid docs
af_ad_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 24. vendor.appsflyer-onelink-impression.param.af_ad_id.invalid docs
af_ad_type optional Published naming conventions and24-character maximum. The raw-data dictionary also uses footer, so unlisted conventions are warnings. Value diagnostic severity: warning. Maximum decoded characters: 24. vendor.appsflyer-onelink-impression.param.af_ad_type.empty
vendor.appsflyer-onelink-impression.param.af_ad_type.invalid
docs
af_channel optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 20. vendor.appsflyer-onelink-impression.param.af_channel.invalid docs
af_engagement_destination optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 50. vendor.appsflyer-onelink-impression.param.af_engagement_destination.invalid docs
af_keywords optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_keywords.invalid docs
af_cost_model optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 20. vendor.appsflyer-onelink-impression.param.af_cost_model.invalid docs
af_partner_account_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_partner_account_id.invalid docs
af_og_title optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 40. vendor.appsflyer-onelink-impression.param.af_og_title.invalid docs
af_og_description optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 300. vendor.appsflyer-onelink-impression.param.af_og_description.invalid docs
advertising_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 40. vendor.appsflyer-onelink-impression.param.advertising_id.invalid docs
android_id optional The published attribution link parameter table specifies this decoded character limit. Maximum decoded characters: 20. vendor.appsflyer-onelink-impression.param.android_id.invalid docs
idfa optional The link specification requires an uppercase IDFA and a40-character maximum. Device ownership and platform selection require context. Maximum decoded characters: 40. vendor.appsflyer-onelink-impression.param.idfa.empty
vendor.appsflyer-onelink-impression.param.idfa.invalid
docs
af_sub1 optional Optional subscriber parameter with the published100-character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_sub1.invalid docs
af_sub2 optional Optional subscriber parameter with the published100-character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_sub2.invalid docs
af_sub3 optional Optional subscriber parameter with the published100-character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_sub3.invalid docs
af_sub4 optional Optional subscriber parameter with the published100-character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_sub4.invalid docs
af_sub5 optional Optional subscriber parameter with the published100-character limit. Maximum decoded characters: 100. vendor.appsflyer-onelink-impression.param.af_sub5.invalid docs
af_mp optional Optional published attribution field. No closed value catalog or additional length is invented. docs
clickid optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_sub_siteid optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_ua optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_os_version optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_model optional Optional published attribution field. No closed value catalog or additional length is invented. docs
deep_link_value optional Optional published attribution field. No closed value catalog or additional length is invented. docs
imei optional Optional published attribution field. No closed value catalog or additional length is invented. docs
oaid optional Optional published attribution field. No closed value catalog or additional length is invented. docs
fire_advertising_id optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_android_store_csl optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_ios_store_cpp optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_ref optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_source_platform optional Optional published attribution field. No closed value catalog or additional length is invented. docs
af_source_device_category optional Optional published attribution field. No closed value catalog or additional length is invented. docs
deep_link_sub1 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub2 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub3 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub4 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub5 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub6 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub7 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub8 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub9 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
deep_link_sub10 optional Optional app-defined deep-link metadata. The app selects the business semantics. docs
af_force_deeplink optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.af_force_deeplink.empty
vendor.appsflyer-onelink-impression.param.af_force_deeplink.invalid
docs
is_incentivized optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.is_incentivized.empty
vendor.appsflyer-onelink-impression.param.is_incentivized.invalid
docs
af_param_forwarding optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.af_param_forwarding.empty
vendor.appsflyer-onelink-impression.param.af_param_forwarding.invalid
docs
af_base_params_forward optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.af_base_params_forward.empty
vendor.appsflyer-onelink-impression.param.af_base_params_forward.invalid
docs
redirect optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.redirect.empty
vendor.appsflyer-onelink-impression.param.redirect.invalid
docs
is_retargeting optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.is_retargeting.empty
vendor.appsflyer-onelink-impression.param.is_retargeting.invalid
docs
af_xplatform optional The documented URL flag uses literal true/false. Retargeting and redirect behavior depend on engagement context. vendor.appsflyer-onelink-impression.param.af_xplatform.empty
vendor.appsflyer-onelink-impression.param.af_xplatform.invalid
docs
af_cost_currency optional Optional current ISO4217 currency. USD is the vendor default, so cost values do not require an explicit currency. vendor.appsflyer-onelink-impression.param.af_cost_currency.empty
vendor.appsflyer-onelink-impression.param.af_cost_currency.invalid
docs
af_cost_value optional Only numerical digits and an optional decimal point are allowed; at most four fractional digits. vendor.appsflyer-onelink-impression.param.af_cost_value.empty
vendor.appsflyer-onelink-impression.param.af_cost_value.invalid
docs
af_media_type optional The published placement category is app or web. vendor.appsflyer-onelink-impression.param.af_media_type.empty
vendor.appsflyer-onelink-impression.param.af_media_type.invalid
docs
af_ad_format optional Published naming conventions are checked as a reporting advisory, without claiming this is a closed ingestion enum. Value diagnostic severity: warning. vendor.appsflyer-onelink-impression.param.af_ad_format.empty
vendor.appsflyer-onelink-impression.param.af_ad_format.invalid
docs
af_click_lookback optional Published click window syntax. The vendor explicitly ignores this setting for impression URLs. Value diagnostic severity: warning. vendor.appsflyer-onelink-impression.param.af_click_lookback.empty
vendor.appsflyer-onelink-impression.param.af_click_lookback.invalid
docs
af_reengagement_window optional The full parameter table permits1..90days,1..36hours or lifetime. Another OneLink page says hours up to23; preserve the broader documented branch and report the conflict. Value diagnostic severity: warning. vendor.appsflyer-onelink-impression.param.af_reengagement_window.empty
vendor.appsflyer-onelink-impression.param.af_reengagement_window.invalid
docs
af_xplatform_vt_lookback optional Cross-platform impressions use a1..72hour window, with24h default. vendor.appsflyer-onelink-impression.param.af_xplatform_vt_lookback.empty
vendor.appsflyer-onelink-impression.param.af_xplatform_vt_lookback.invalid
docs
af_ip optional Optional device IP for S2S impressions. C2S applicability, X-Forwarded-For fallback and matching header require HTTP context. vendor.appsflyer-onelink-impression.param.af_ip.empty
vendor.appsflyer-onelink-impression.param.af_ip.invalid
docs
af_video_total_length optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_video_total_length.empty
vendor.appsflyer-onelink-impression.param.af_video_total_length.invalid
docs
af_video_played_length optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_video_played_length.empty
vendor.appsflyer-onelink-impression.param.af_video_played_length.invalid
docs
af_playable_played_length optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_playable_played_length.empty
vendor.appsflyer-onelink-impression.param.af_playable_played_length.invalid
docs
af_ad_time_viewed optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_ad_time_viewed.empty
vendor.appsflyer-onelink-impression.param.af_ad_time_viewed.invalid
docs
af_ad_displayed_percent optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_ad_displayed_percent.empty
vendor.appsflyer-onelink-impression.param.af_ad_displayed_percent.invalid
docs
af_audio_total_length optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_audio_total_length.empty
vendor.appsflyer-onelink-impression.param.af_audio_total_length.invalid
docs
af_audio_played_length optional Published numeric viewability field, in seconds or percentage. No source-unspecified duration equality or business floor is inferred. vendor.appsflyer-onelink-impression.param.af_audio_played_length.empty
vendor.appsflyer-onelink-impression.param.af_audio_played_length.invalid
docs
af_r optional Redirect targets must be full publicly accessible HTTPS URLs. Fragment identifiers are unsupported; public reachability and account allowlisting require external context. vendor.appsflyer-onelink-impression.param.af_r.empty
vendor.appsflyer-onelink-impression.param.af_r.invalid
docs
af_web_dp optional Redirect targets must be full publicly accessible HTTPS URLs. Fragment identifiers are unsupported; public reachability and account allowlisting require external context. vendor.appsflyer-onelink-impression.param.af_web_dp.empty
vendor.appsflyer-onelink-impression.param.af_web_dp.invalid
docs
af_android_url optional Redirect targets must be full publicly accessible HTTPS URLs. Fragment identifiers are unsupported; public reachability and account allowlisting require external context. vendor.appsflyer-onelink-impression.param.af_android_url.empty
vendor.appsflyer-onelink-impression.param.af_android_url.invalid
docs
af_ios_url optional Redirect targets must be full publicly accessible HTTPS URLs. Fragment identifiers are unsupported; public reachability and account allowlisting require external context. vendor.appsflyer-onelink-impression.param.af_ios_url.empty
vendor.appsflyer-onelink-impression.param.af_ios_url.invalid
docs
af_og_image optional Optional Open Graph preview image URL. vendor.appsflyer-onelink-impression.param.af_og_image.empty
vendor.appsflyer-onelink-impression.param.af_og_image.invalid
docs
af_dp optional A valid URI scheme is recommended. The application determines its default activity/base path, so custom schemes remain supported. Value diagnostic severity: warning. vendor.appsflyer-onelink-impression.param.af_dp.empty
vendor.appsflyer-onelink-impression.param.af_dp.invalid
docs
idfv optional The link specification requires uppercase IDFV; no undocumented length bound is added. vendor.appsflyer-onelink-impression.param.idfv.empty
vendor.appsflyer-onelink-impression.param.idfv.invalid
docs
sha1_advertising_id optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_advertising_id.empty
vendor.appsflyer-onelink-impression.param.sha1_advertising_id.invalid
docs
sha1_android_id optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_android_id.empty
vendor.appsflyer-onelink-impression.param.sha1_android_id.invalid
docs
sha1_imei optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_imei.empty
vendor.appsflyer-onelink-impression.param.sha1_imei.invalid
docs
sha1_oaid optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_oaid.empty
vendor.appsflyer-onelink-impression.param.sha1_oaid.invalid
docs
sha1_idfa optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_idfa.empty
vendor.appsflyer-onelink-impression.param.sha1_idfa.invalid
docs
sha1_idfv optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_idfv.empty
vendor.appsflyer-onelink-impression.param.sha1_idfv.invalid
docs
sha1_mac optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.sha1_mac.empty
vendor.appsflyer-onelink-impression.param.sha1_mac.invalid
docs
md5_advertising_id optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_advertising_id.empty
vendor.appsflyer-onelink-impression.param.md5_advertising_id.invalid
docs
md5_android_id optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_android_id.empty
vendor.appsflyer-onelink-impression.param.md5_android_id.invalid
docs
md5_imei optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_imei.empty
vendor.appsflyer-onelink-impression.param.md5_imei.invalid
docs
md5_oaid optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_oaid.empty
vendor.appsflyer-onelink-impression.param.md5_oaid.invalid
docs
md5_idfa optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_idfa.empty
vendor.appsflyer-onelink-impression.param.md5_idfa.invalid
docs
md5_idfv optional Published hashed identifier. The digest must contain the exact hexadecimal width of its named algorithm. Original source normalization and network support are external. vendor.appsflyer-onelink-impression.param.md5_idfv.empty
vendor.appsflyer-onelink-impression.param.md5_idfv.invalid
docs
sha1_el optional Published SHA1 email identifier for desktop-to-mobile attribution. vendor.appsflyer-onelink-impression.param.sha1_el.empty
vendor.appsflyer-onelink-impression.param.sha1_el.invalid
docs
mac optional Published device MAC field. Source gives no normalization spelling, so no guessed separator format is enforced. docs
af_os deprecated Deprecated but still supported, so presence is an advisory rather than a rejection. vendor.appsflyer-onelink-impression.param.af_os.deprecated docs
af_ios_fallback deprecated Deprecated but still supported, so presence is an advisory rather than a rejection. vendor.appsflyer-onelink-impression.param.af_ios_fallback.deprecated docs
af_esp optional Optional documented email-service-provider URI scheme flag. Opening behavior needs app/browser context. vendor.appsflyer-onelink-impression.param.af_esp.empty
vendor.appsflyer-onelink-impression.param.af_esp.invalid
docs
af_inactivity_window optional Optional documented retargeting inactivity window in days. The published page gives no concrete URL token syntax or range, so no guessed d-suffix grammar or floor is enforced. docs
af_custom_android_url optional The FAQ identifies this alternate Android redirect parameter. Apply the shared published HTTPS redirect contract; account targeting and WebView behavior require context. vendor.appsflyer-onelink-impression.param.af_custom_android_url.empty
vendor.appsflyer-onelink-impression.param.af_custom_android_url.invalid
docs
https_required required AppsFlyer accepts only HTTPS incoming engagement traffic. vendor.appsflyer-onelink-impression.https_required docs
url_length required The complete attribution URL must not exceed2000 characters. vendor.appsflyer-onelink-impression.url_length docs
pid_legal_characters required These PID characters prevent attribution and deep linking. vendor.appsflyer-onelink-impression.pid_legal_characters docs
campaign_edge_whitespace recommended Campaign names should not begin or end with whitespace because reporting may disagree. vendor.appsflyer-onelink-impression.campaign_edge_whitespace docs
redirect_fragments required URI fragments are unsupported in redirection URLs. vendor.appsflyer-onelink-impression.redirect_fragments docs
partner_site_id recommended Ad-network links should carry the publisher site ID. Custom owned-media impression examples omit it. vendor.appsflyer-onelink-impression.partner_site_id docs
af_og_title_preview_fields recommended A customized OneLink social preview uses title, description and image together. vendor.appsflyer-onelink-impression.af_og_title_preview_fields docs
af_og_description_preview_fields recommended A customized OneLink social preview uses title, description and image together. vendor.appsflyer-onelink-impression.af_og_description_preview_fields docs
af_og_image_preview_fields recommended A customized OneLink social preview uses title, description and image together. vendor.appsflyer-onelink-impression.af_og_image_preview_fields docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/appsflyer-onelink-impression

Try this failing payload in the playground. OneLink impression missing pid.

https://impressions.onelink.me/j7rN?c=Spring

cargo install pixellint · npm install pixellint