Overview
When processing incoming requests, the system may receive multiple device identifiers (e.g., IDFA, device_id, adid).
To ensure accurate targeting and clean data, the system:
- selects only one device ID
- ignores invalid or placeholder values
- uses a priority-based selection logic
How Device ID Resolution Works
When multiple device ID candidates are present, the system:
- Checks parameters according to a predefined priority order
- Validates each value
- Selects the first valid identifier
- Ignores invalid or placeholder values
Priority Order
The system uses the following priority when selecting a device ID:
idfa → device_id → adid
The first valid value in this list will be used.
Validation Rules
The system filters out invalid values, including:
Placeholder values
[replace_me]%5Breplace_me%5D(URL-encoded)
Empty or null values
- empty string
null
Unresolved macros
{ifa}{{device_id}}${adid}%ifa%
Examples
| idfa | device_id | adid | Result |
|---|---|---|---|
[replace_me] | valid | — | use device_id |
[replace_me] | [replace_me] | valid | use adid |
| valid | valid | valid | use idfa |
[replace_me] | empty | null | no ID sent |
Key Behavior
- Priority is applied only across valid values
- Invalid values are skipped entirely
- If no valid identifier is found → no device ID is sent
- Existing behavior for valid IDs remains unchanged