vendor/adjust · vendor documented
Adjust server-to-server events
Not the client SDK hit. The S2S event endpoint takes query or form parameters. The pack contracts what Adjust documents for that call.
What this pack matches
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 |
|---|---|---|---|---|
app_token |
required | It is the Adjust app token from the dashboard, and the endpoint requires it on every request. Fix: Send the app token from the Adjust dashboard as `app_token`. | vendor.adjust.param.app_token.missingvendor.adjust.param.app_token.empty |
docs |
event_token |
required | It is the Adjust event token from the dashboard, and the endpoint requires it on every request. Fix: Send the event token from the Adjust dashboard as `event_token`. | vendor.adjust.param.event_token.missingvendor.adjust.param.event_token.empty |
docs |
s2s |
required | Adjust documents a hardcoded `s2s=1` so the endpoint treats the request as server-to-server. Fix: Add `s2s=1`. | vendor.adjust.param.s2s.missingvendor.adjust.param.s2s.emptyvendor.adjust.param.s2s.invalid |
docs |
created_at |
optional | Adjust documents `created_at` as an ISO 8601 timestamp. `created_at_unix` is the Unix-seconds alternative. Fix: Send ISO 8601, such as `2017-01-02T15:04:05.000+0000`, or send `created_at_unix` instead. | vendor.adjust.param.created_at.emptyvendor.adjust.param.created_at.invalid |
docs |
created_at_unix |
optional | Adjust documents it as a Unix timestamp in seconds. Fix: Send seconds, not milliseconds. | vendor.adjust.param.created_at_unix.emptyvendor.adjust.param.created_at_unix.invalid |
docs |
currency |
optional | It is the ISO 4217 currency code for a revenue event. Fix: Use the three-letter code, such as `EUR`. | vendor.adjust.param.currency.emptyvendor.adjust.param.currency.invalid |
docs |
environment |
optional | Adjust documents `sandbox` or `production`, and defaults to production when it is omitted. Fix: Send `environment=sandbox` for testing, or `environment=production` for live traffic. | vendor.adjust.param.environment.emptyvendor.adjust.param.environment.invalid |
docs |
ip_address |
optional | It is the device IP address, sent unhashed. Adjust documents IPv4 only. Fix: Send the device IPv4 address, not a digest and not an IPv6 address. | vendor.adjust.param.ip_address.empty |
docs |
idfa |
optional | iOS Identifier for Advertisers. Adjust requires a device ID such as `idfa` or `gps_adid`. | vendor.adjust.param.idfa.empty |
docs |
gps_adid |
optional | Android advertising ID. Adjust requires a device ID such as `idfa` or `gps_adid`. | vendor.adjust.param.gps_adid.empty |
docs |
idfv |
optional | iOS Identifier for Vendor. | vendor.adjust.param.idfv.empty |
docs |
android_id |
optional | Raw Android ID, lowercase, without hyphens. | vendor.adjust.param.android_id.empty |
docs |
android_id_lower_md5 |
optional | Hashed Android ID, lowercase MD5. | docs | |
android_id_lower_sha1 |
optional | Hashed Android ID, lowercase SHA1. | docs | |
android_id_upper_md5 |
optional | Hashed Android ID, uppercase MD5. | docs | |
android_id_upper_sha1 |
optional | Hashed Android ID, uppercase SHA1. | docs | |
imei |
optional | Raw IMEI, without hyphens. | docs | |
imei_lower_md5 |
optional | Hashed IMEI, lowercase MD5. | docs | |
meid |
optional | Raw MEID, uppercase, without hyphens. | docs | |
win_naid |
optional | Windows network adapter ID. | docs | |
win_hwid |
optional | Windows Store hardware ID. | docs | |
adid |
optional | The Adjust identifier associated with the device. Useful for identifying LAT users on iOS without IDFA. | vendor.adjust.param.adid.empty |
docs |
device_id_required |
required | The request carries no device identifier. Adjust requires an advertising ID such as `idfa` or `gps_adid`, or one of the other documented device IDs. Fix: Send `idfa` for iOS or `gps_adid` for Android, or another documented device ID. | vendor.adjust.device_id_required |
docs |
hashed_plaintext_field |
required | `ip_address` looks like a SHA-256 digest, but Adjust documents it as the device IPv4 address, unhashed. Fix: Send the raw IPv4 address. Hashing it makes the event unmatchable. | vendor.adjust.hashed_plaintext_field |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/adjust
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint