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

# Build a tracking link

Offer Links and click tracking · For publishers, networks · Updated 30 October 2026
Web version: https://www.affiliateos.ai/help/links-and-tracking/build-tracking-link

Open the offer under **Offers**, copy the link from its **Tracking link** card and put each user's own ID in place of `{SUB_ID}` every time you show it. That ID comes back on the postback, so it's how you know whom to credit.

## Steps

### Offers, then Get offer

Open **Offers**, find the offer and choose **Get offer**. The offer's page opens, with its details and steps.

### Request access if the offer asks for it

Some offers need our approval for each publisher. If the page shows **Request offer access** instead of a link, choose it: the [tracking link](https://www.affiliateos.ai/glossary#tracking-link) appears on the page once we approve.

### Copy the link from the Tracking link card

The card holds the link with your IDs already in it. Choose **Copy link**. It looks like this:

```text
https://click.affiliateos.ai/click?off_id=aff_ab12cd34ef56&pub_id=pub_7Hn2&partner_id=prt_Q81x&sub_id={SUB_ID}&device_id={DEVICE_ID}
```

Example IDs. Keep every part except the two placeholders exactly as copied.

| Part | What it is | Change it? |
|---|---|---|
| `off_id` | The offer | No |
| `pub_id` | The network your account belongs to | No |
| `partner_id` | Your account: who gets paid for the click | No. Strip it and the conversion isn't yours. |
| `sub_id={SUB_ID}` | Your user's ID | Yes, every time, for every user |
| `device_id={DEVICE_ID}` | The phone's advertising ID | Fill it in when you have it, or leave it |

### Put your user's ID in place of {SUB_ID}

Where you show the offer (a button in your app, a link in an email to one reader), replace `{SUB_ID}` with that user's own ID, URL-encoded. Example, for user u_48213:

```text
https://click.affiliateos.ai/click?off_id=aff_ab12cd34ef56&pub_id=pub_7Hn2&partner_id=prt_Q81x&sub_id=u_48213&device_id={DEVICE_ID}
```

> **One user, one ID.** A campaign name, a placement name or the literal `{SUB_ID}` left in the link puts every conversion on one "user" you can't credit. Use `sub1` to `sub10` for labels like those.

### Add your own values if you need them

Replace `{DEVICE_ID}` with the IDFA or GAID when you have it, and append up to ten of your own values as `sub1` to `sub10` to get them back on the postback. [Pass your user ID and sub IDs on a tracking link](https://www.affiliateos.ai/help/links-and-tracking/pass-user-id-and-sub-ids) lists every parameter and its limits.

### Check it worked

On the **Tracking link** card, type a test user's ID in **Test with one user ID (optional)**, copy the filled link and open it on your phone. Complete the offer, then open **Reporting**, then **Flight Recorder**, and type the same ID in **Sub ID** to trace the conversion to your postback. A link with no `sub_id` at all is refused.

## When there's no link to copy

| The offer's page says | Why | What to do |
|---|---|---|
| Capped for today, with a time it reopens | The offer hit its daily cap | Come back after that time, or run another copy of the offer from the link on the card |
| Your access request is pending | We haven't decided yet | Wait for the link to appear |
| Access was declined for this offer | We declined your request, sometimes with a note under the message | Read the note, and email [hello@affiliateos.ai](mailto:hello@affiliateos.ai) with the offer ID before you ask again |
| This offer is not active right now | The advertiser paused it, or it ended | Pick another offer |
| Your access is approved, but the tracking link is not configured yet | The link isn't set up on our side | Email [hello@affiliateos.ai](mailto:hello@affiliateos.ai) with the offer ID |

## If our team sends your links

With [Offer Links](https://www.affiliateos.ai/product/offer-links), our team picks offers for you and sends a tracking link for each. Those links work the same way: put your user's ID in `sub_id` before you show them.

## If your account uses Properties & Apps

Each property with **Tracking Links** turned on has its own link template on its **Overview** tab, with an `asset_id` in it so clicks and conversions keep the property. It also carries `{OFFER_ID}`: put the offer's ID there as well as your user's ID in `{SUB_ID}`.

## For networks

Your publishers copy their links from their own dashboard, the same way. When your network sends traffic itself, use each offer's `trackingUrl` from the [Network API](https://www.affiliateos.ai/help/developers#network-api). Your network ID is already in `pub_id`; replace `{SUB_ID}` with your user's ID, the same as above.
