> AffiliateOS Help Center. Index of every article for AI tools: https://www.affiliateos.ai/help/llms.txt

# The iPhone install tracking guide your users see

Hosted Offerwall · For publishers · Updated 30 October 2026
Web version: https://www.affiliateos.ai/help/offerwall/iphone-tracking-guide

The first time a new iPhone user taps **Get** on an app-install offer, the wall shows a short sheet before starting it. It shows where the iPhone setting that lets games ask to track is, and says that answering the game's question is the user's choice. Then the offer starts as usual.

## Why it's there

Many games confirm an install, and each step after it, through Apple's tracking permission. A game can only ask for that permission when the iPhone's **Allow Apps to Request to Track** setting is on. A user who switched it off long ago never sees the game's question, and their progress may not be reported. The sheet tells them where the setting is, once, before their first install.

## Who sees it

All of these have to be true:

- The user is on an iPhone or iPad: the launch said `platform=ios`, or the browser says so.
- The offer installs an app and runs on iOS.
- The user has nothing in **My Offers** yet on your wall.
- The wall isn't in test mode.
- The sheet hasn't already shown during this visit.

Android users, desktop users and returning users never see it.

## The two screens

| Screen | Title | What it says | Buttons |
|---|---|---|---|
| 1 | Tracking & Privacy | Many games use Apple's tracking permission to confirm installs and progress. For a game to ask, this setting needs to be on: **Settings › Privacy & Security › Tracking › Allow Apps to Request to Track**. A drawing of the two Settings screens, and a note that the setting only lets apps ask. | **Next**, **Close** |
| 2 | Before you play | The game may ask to track. Choosing Allow lets it report the install and goals; choosing not to may mean progress isn't reported. It's the user's choice. A three-line checklist: install the game, open it, answer its tracking question. | **Get** and the game's name, **Close** |

For an app that isn't a game, screen 2 is titled "Before you start". **Get** on screen 2 starts the offer exactly as the offer page's own button does. **Close** only hides the sheet, and the user's next **Get** starts the offer at once.

On an iPhone, the page of an app-install offer also has a line, "Install not tracking? How tracking works", that opens the same two screens and ends on **Done**.

## A worked example

Example: user u_48213 opens Pebble Rewards' wall on an iPhone in Texas for the first time and taps **Get** on Harbor Blocks at 2:06 PM. The sheet opens on Tracking & Privacy. They choose **Next**, read Before you play and tap **Get Harbor Blocks**. The App Store opens. Back on the wall later, they tap **Get** on a second game: it opens straight away, because Harbor Blocks is now in their **My Offers**.

## What it never does

Apple doesn't allow an app to make tracking a condition of a reward, and the wall runs inside your app. So the sheet:

- shows no reward amount,
- never pictures Apple's permission prompt or points at its Allow button,
- never says tracking is required, and says the choice is the user's,
- never closes the wall: its **Close** hides the sheet and nothing else.

## Shorten it, turn it off or test it

| Add to your launch URL | What happens |
|---|---|
| `platform=ios` and a real IDFA in `device_id` | Screen 1 is skipped. Your app only has an IDFA when tracking is already allowed, so the user goes straight to Before you play. |
| `tracking_guide=off` | The sheet and the "How tracking works" line never show. Use it when your app explains tracking itself. |
| `tracking_guide=force` | For testing: the sheet shows on any device and in test mode. It still needs an app-install offer and a user with nothing in **My Offers**. |

> **What we record.** Each start on the wall notes what the sheet did (shown and used, closed first, not shown, or turned off), so we can compare install tracking before and after it. Nothing that settles or pays a conversion reads it.
