Skip to main content

iOS 26 User-Agent Freeze: Action Required for Accurate Device and OS Tracking

Implementing Dedicated Parameters-Macros for Accurate iOS 26 Measurement

Updated over 2 weeks ago

Apple's continued focus on privacy has led to the Safari User-Agent (UA) string being frozen on iOS 26 and later. This means the User-Agent header will now report an outdated, static OS version (e.g., iOS 18.6) instead of the true device version.

Historically, the User-Agent was vital for segmenting traffic by OS Version and Device Model. With this update, that crucial information is no longer reliably available through the standard HTTP header, which impacts:

  • Reporting: Loss of granularity in dashboards.

  • Probabilistic Attribution: Degradation of accuracy in models used by some MMPs.

Our Solution: Passing Data with Dedicated Parameters-Macros

To maintain data accuracy, we are adopting the industry's best practice by explicitly passing the actual OS Version and Device Model via URL parameters.

Actions Required: Updating Your Tracking Links
1. On Publisher Tracking URL:

The publishers must update their tracking links to dynamically supply the user's OS version and device model using the following parameters:

Parameter

Definition

Example

user_model

Device model number of the user device

e.g. GM-9621 / iPhone14

user_os_version

OS version of the user device

e.g. 9.2.2 / 18.6.2

Sample Publisher Tracking URL with the above parameters:

https://yourcompany.trckswrm.com/click?offer_id=4&pub_id=6&pub_sub_id=ADD_PUBLISHER_ID_HERE&pub_click_id=ADD_CLICK_ID_HERE&idfa=PASS_IDFA_HERE&gaid=PASS_GAID_HERE&user_model=PASS_DEVICE_MODEL_HERE&user_os_version=PASS_DEVICE_OS_VERSION_HERE

2. On Advertiser Tracking URL / MMP Attribution links:

Our system will automatically use the publisher-supplied data and forward it to the Advertiser's tracking link using the following macros:

Macro

Definition

Example

{user.model}

Device model number of the user device

e.g. GM-9621 / iPhone14

{user.os_version}

OS version of the user device

e.g. 9.2.2 / 18.6.2

Note: these macros can be used with any ad-network or MMP that requires these datapoints.

Sample Advertiser Tracking Link with above macros:

https://advertiser.offer.com/click?offer_id=9876&pub_id=1234&click_id={id}&source_id={publisher.id}&idfa={device.ids.idfa}&gaid={device.ids.gaid}&device_model={user.model}&os_version={user.os_version}

  • Appsflyer MMP-specific changes for probabilistic modeling:

    Appsflyer now requires Device Model and OS Version for their probabilistic attribution, along with other data points like IP, Language, and User Agent. Here is how these datapoints can be mapped:

Appsflyer Parameter

Swaarm Macro

Example

af_ip

{user.ip}

192.168.0.1

af_model

{user.model}

iPhone14

af_os_version

{user.os_version}

18.6.2

af_lang

{user.language}

en-US

af_ua

{user.encoded_ua}

Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+17_5_1+like+Mac+OS+X%29

Sample Appsflyer MMP attribution link with the above segments:

https://app.appsflyer.com/com.testapp?pid=SampleMediaSource_int&af_ip={user.ip}&af_lang={user.language}&af_ua={user.encoded_ua}&af_model={user.model}&af_os_version={user.os_version}&af_siteid={publisher.id}&af_sub_siteid={publisher.subId}&c={offer.name}&af_c_id={offerId}&af_ad={publisher.creative}&af_adset={pea.chain}&clickid={id}&advertising_id={device.ids.gaid}&idfa={device.ids.idfa}

  • Adjust MMP-specific changes:

    A few updates are needed on the Adjust base URL, but not on the callbacks. It should now include datapoints for UA, IP, Lang, Device model, and OS version. Here is the recommended mapping:

Adjust Parameter

Swaarm Macro

Example

user_agent

{user.encoded_ua}

Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+17_5_1+like+Mac+OS+X%29

ip_address

{user.ip}

192.168.0.1

device_name

{user.model}

iPhone14

os_version

{user.os_version}

18.6.2

language

{user.language}

en-US

Sample Adjust MMP base link only with the above segments:

​https://app.adjust.com/trck123?campaign=coolgame_iOS&adgroup={publisher.id}_{publisher.subId}&creative={publisher.creative}&idfa={device.ids.idfa}&gps_adid={device.ids.gaid}&user_agent={user.encoded_ua}&ip_address={user.ip}&device_name={user.model}&os_version={user.os_version}&language={user.language}&tracker_limit=100000

We encourage all partners running iOS traffic to update their tracking links to ensure precise and reliable reporting of OS version and Device Model.

Did this answer your question?