> ## Documentation Index
> Fetch the complete documentation index at: https://clickflare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Mintegral as a Traffic Source

> Track Mintegral app campaigns in ClickFlare: capture click, promotion and device IDs, and post installs back to Mintegral via S2S.

![Mintegral traffic source template](https://mintcdn.com/clickflare/oNlhH4HxR5JFsOiP/images/integrations/covers/templates/mintegral.png?fit=max\&auto=format\&n=oNlhH4HxR5JFsOiP\&q=85\&s=b1d5fd984fe5d40635bd6b79ef24face)

Mintegral is a programmatic ad platform for mobile app user acquisition. Its campaigns run on in-app inventory and are built around app installs and in-app events. This guide sets up Mintegral as a traffic source in ClickFlare. It covers when ClickFlare belongs in a Mintegral app campaign, passing Mintegral's click and device data into your reports, and posting installs back to Mintegral.

You do everything from the **campaign editor**. The Mintegral traffic source is created inline, without leaving the campaign.

## At a glance

| | |
| - | - |
| **Traffic** | In-app ads for app installs and in-app events |
| **Click ID macro** | `{click_id}`, mandatory. `{uuid}` (Mintegral's promotion ID) is mandatory too. |
| **Conversion tracking** | S2S install postback to `magnet.rayjump.com` |
| **Payout passed back** | No. The template reports installs, not revenue. |
| **Multiple events** | Not in the template. Installs only. |
| **Cost** | Not passed by the template. Set a cost model on the campaign. |
| **Conversion API** | No |
| **Access** | S2S integration needs a separate approval from Mintegral |

## Does ClickFlare fit your Mintegral campaign?

Mintegral supports three ways to report conversions. The ClickFlare template is for one of them.

| Your setup | How conversions reach Mintegral | Use this template? |
| - | - | - |
| **Your own app, measured with an MMP** (AppsFlyer, Adjust, Singular, Tenjin and others) | Mintegral sends clicks to the MMP's tracking URL. The MMP attributes the install and posts back to Mintegral. | No. Set it up in your MMP, following Mintegral's MMP guides. ClickFlare is not in the click path. |
| **App offers through ClickFlare**: CPI offers from an affiliate network, or an app whose installs you attribute server-side | Mintegral sends the click to ClickFlare. The offer's network (or your server) posts the install to ClickFlare. ClickFlare posts it to Mintegral. | Yes. This is Mintegral's **S2S** integration. |
| **A website**, not an app | Mintegral's tracking pixel on your site | No. Use Mintegral's pixel integration. |

Mintegral grants S2S and pixel access separately. Before you start, ask your Mintegral account manager to enable S2S for your account.

## How it works

**1. Mintegral sends the click**

A user taps your ad. Mintegral opens your ClickFlare campaign URL and fills in its macros: the click ID in `click_id`, the promotion ID in `uuid`, the device IDs (IDFA, GAID and others), plus the creative, offer and sub-channel.

**2. ClickFlare stores the Mintegral click ID**

ClickFlare saves the value of `click_id` as the visit's **External ID**, stores the promotion ID and device IDs in tracking fields, and redirects the user to your offer, which leads to the app store.

**3. The install reaches ClickFlare**

The user installs and opens the app. The offer's network, or your own attribution, posts the install back to ClickFlare, matched on the ClickFlare click ID.

**4. ClickFlare posts the install to Mintegral**

ClickFlare fires the Mintegral postback with the stored click ID, promotion ID and IDFA. Mintegral matches it to the original click.

> [!NOTE]
>
> The mirror to keep straight: in the **campaign URL** you write *ClickFlare's* parameter (`click_id`) and *Mintegral's* macro (`{click_id}`). The template does this for you. In the **postback URL** you write *Mintegral's* parameter (`clickid`, no underscore) and *ClickFlare's* token (`{external_id}`). Mintegral also needs its promotion ID back, as `campuuid`.

## Before you start

* **Set up your own tracking domain.** Run the campaign and the postback on your own custom domain. Shared domains get flagged by networks and blocked by browsers. See [Custom Domains](/docs/en/settings/custom-domains.md).
* **Have an offer ready in ClickFlare**, and its affiliate network set up to post installs back to ClickFlare. See [Creating an Offer](/docs/en/tracking/creating-an-offer-1.md) and [Adding an Affiliate Network](/docs/en/tracking/adding-an-affiliate-network.md).
* **Get S2S access from Mintegral.** S2S is not on by default. Ask your account manager.
* **Make sure the click redirects.** ClickFlare must redirect the user to the offer. Mintegral also supports "async" clicks, where the tracking URL only receives click data server-side and the user goes straight to the store. With an async click, the user never reaches your offer through ClickFlare, so the install cannot be attributed. Confirm with Mintegral that your ClickFlare URL is used as a redirect click URL.
* **Know which conversion is the install.** The template's postback tells Mintegral an install happened. Only installs should fire it.

***

## Step 1 – Create the campaign and the Mintegral traffic source

1. Go to **Campaigns** and click **New**.
2. In **Traffic Source**, open the dropdown and click **+ New Traffic Source**.
3. Type `mintegral` in the search box and select the **Mintegral** template.
4. Enter a **Name**, for example `Mintegral`.
5. Leave **Cost currency** on **USD** unless your Mintegral account is billed in another currency.

The template fills in the **Parameters** table for you:

| Name | TS Parameter | TS Token (Mintegral macro) | ClickFlare Token | What it carries |
| - | - | - | - | - |
| Cost | *empty* | *empty* | `{cost}` | Not filled in. See [Cost](#cost). |
| External ID | `click_id` | `{click_id}` | `{external_id}` | Mintegral's click ID. Required for the postback. |
| Creative ID | `creative_id` | `{creative_id}` | `{trackingField1}` | The creative |
| Advertiser Campaign ID | `adv_campaign_id` | `{adv_campaign_id}` | `{trackingField2}` | Your campaign ID in Mintegral |
| Creative Name | `creative_name` | `{creative_name}` | `{trackingField3}` | The creative's name |
| UUID | `uuid` | `{uuid}` | `{trackingField4}` | Mintegral's promotion ID. Required, and used by the postback. |
| Advertiser Offer ID | `adv_offer_id` | `{adv_offer_id}` | `{trackingField5}` | Your offer ID in Mintegral |
| Offer Name | `offer_name` | `{offer_name}` | `{trackingField6}` | The offer's name |
| Affiliate ID | `affiliate_id` | `{affiliate_id}` | `{trackingField7}` | The sub-channel (publisher app source). Mintegral recommends it for sub-channel optimization. |
| Idfa | `idfa` | `{idfa}` | `{trackingField8}` | The iOS advertising ID. Used by the postback. |
| Idfa md5 | `idfa_md5` | `{idfa_md5}` | `{trackingField9}` | The IDFA as an MD5 hash |
| gaid | `gaid` | `{gaid}` | `{trackingField10}` | The Google advertising ID (Android outside China) |
| gaid md5 | `gaid_md5` | `{gaid_md5}` | `{trackingField11}` | The GAID as an MD5 hash |
| imei | `imei` | `{imei}` | `{trackingField12}` | The device IMEI (Android in China) |
| imei md5 | `imei_md5` | `{imei_md5}` | `{trackingField13}` | The IMEI as an MD5 hash |
| android id | `android_id` | `{android_id}` | `{trackingField14}` | The Android ID |
| android id md5 | `android_id_md5` | `{android_id_md5}` | `{trackingField15}` | The Android ID as an MD5 hash |
| mac | `mac` | `{mac}` | `{trackingField16}` | The device MAC address |
| mac md5 | `mac_md5` | `{mac_md5}` | `{trackingField17}` | The MAC address as an MD5 hash |
| oaid | `oaid` | `{oaid}` | `{trackingField18}` | The Android OAID, which replaces IMEI on Android 10 and above |
| oaidmd5 | `oaid_md5` | `{oaid_md5}` | `{trackingField19}` | The OAID as an MD5 hash |
| ua | `ua` | `{ua}` | `{trackingField20}` | The device's user agent |

Most rows are device identifiers. Expect many empty columns: an iPhone has an IDFA but no GAID, IMEI or OAID. `affiliate_id` and `creative_id` are the columns you will use most for optimization: they tell you which sub-channels and creatives bring installs.

> [!WARNING]
>
> Don't remove or reorder the **External ID**, **UUID** and **Idfa** rows. The postback reads the promotion ID from `{trackingField4}` and the IDFA from `{trackingField8}`. If those rows move to other tracking fields, the postback sends the wrong values and Mintegral cannot match the install.

The template uses all 20 tracking fields. To pass another Mintegral macro, such as `{os_version}`, `{device_model}` or `{ip}`, replace a row you don't need rather than adding one. The MAC and IMEI rows are the usual candidates: IMEI only applies to Android in China.

## Step 2 – Set up the postback

The postback is what sends installs to Mintegral. It lives on the traffic source, so every campaign that uses this Mintegral traffic source reports installs the same way.

1. In the **New Traffic Source** form, scroll to **Passing conversion info to traffic source**.
2. Turn on **Traffic source postback URL**. The template's postback appears:

```text theme={null}
http://magnet.rayjump.com/postback/clickflare/install?campuuid={trackingField4}&clickid={external_id}&idfa={trackingField8}&brand={device_brand}&device={device}
```

![The Traffic source postback URL switched on, showing the Mintegral template's postback](https://mintcdn.com/clickflare/nZP6EuFBEVoKPMxM/images/integrations/templates/mintegral/postback.png?fit=max\&auto=format\&n=nZP6EuFBEVoKPMxM\&q=85\&s=ff6e2c1c0ecc8917cd88e4feee5ab9bc)

3. Check what each part sends:

| Mintegral parameter | ClickFlare token | What it sends |
| - | - | - |
| `campuuid` | `{trackingField4}` | The promotion ID from the `uuid` row. Mandatory. |
| `clickid` | `{external_id}` | Mintegral's click ID. Mandatory. |
| `idfa` | `{trackingField8}` | The IDFA from the `idfa` row. Empty on Android. |
| `brand` | `{device_brand}` | The device brand ClickFlare detected |
| `device` | `{device}` | The device type ClickFlare detected |

4. In the dropdown on the left, choose the ClickFlare event that means "installed". If your offer's network only posts installs, keep **Conversions**. If it also posts in-app events (registrations, purchases), create an `install` [custom conversion](/docs/en/settings/custom-conversions.md) and choose that, so only installs reach Mintegral.
5. Click **Save**. You are back in the campaign editor with the Mintegral traffic source selected.

The template has no Android device ID in the postback: `idfa` is empty for Android installs, and matching relies on `clickid` and `campuuid`. If Mintegral asks for the GAID on Android installs, ask them for the parameter name on this endpoint and fill it with `{trackingField10}`, the `gaid` row.

To learn what each postback token does, see [How to Configure a Traffic Source S2S Postback URL](/docs/en/tracking/how-to-configure-a-traffic-source-s2s-postback-url.md).

## Step 3 – Finish the campaign and copy its URL

1. Name the campaign.
2. Set the **Cost Model**. See [Cost](#cost).
3. Choose **Redirect** tracking. The user must pass through ClickFlare on the way to the offer and the app store.
4. Click **Next** and, on **Destination**, add your offer. App campaigns usually go straight to the offer, without a lander.
5. Save, open **Tracking**, select your own tracking domain and copy the **campaign URL**.

The campaign URL already contains every Mintegral macro from the template, for example `click_id={click_id}`, `uuid={uuid}` and `idfa={idfa}`.

Your offer URL must pass ClickFlare's click ID to the offer's network, in the parameter that network expects. Otherwise the network cannot post the install back to ClickFlare, and ClickFlare cannot post it to Mintegral.

See [Creating a Campaign in ClickFlare](/docs/en/campaigns/creating-a-campaign-in-click-flare.md).

## Step 4 – Create the campaign in Mintegral

1. In Mintegral, create the offer and campaign for the app as usual.
2. On the tracking URL page, paste the ClickFlare campaign URL as the **click URL**. Mintegral's macros use the same `{xxx}` format as the template, so leave them exactly as ClickFlare wrote them.
3. Validate the tracking URL and save.
4. Set the app's download URL (the store listing) correctly in Mintegral.

Paste the URL exactly as ClickFlare gives it. Mintegral replaces each `{...}` macro when the ad is tapped.

## Step 5 – Test the integration

Mintegral tests the tracking URL with a real device.

1. On the tracking URL page in Mintegral, enter your test device's ID: the IDFA on iOS, the GAID on Android outside China.
2. Click **Test**. Mintegral generates a QR code.
3. Scan the QR code with the test device, using a standard mobile browser. Mintegral sends the click to ClickFlare.
4. In ClickFlare, check that the visit arrived, with the click ID and your device ID in the **Idfa** or **gaid** column.
5. Install the app from the store, open it, and use it as your offer requires.
6. Once the offer's network posts the install to ClickFlare, go to **Logs → Postback Status** and filter by the campaign. A successful request to `magnet.rayjump.com` confirms ClickFlare sent it. Check `campuuid` and `clickid` have real values.

Installs reported through third-party attribution can take up to an hour to arrive. Wait before you retest.

***

## In-app events

The template reports installs only. Mintegral's Target CPE and Target ROAS campaigns optimize on in-app events and revenue, which this postback doesn't send.

> **Sending in-app events**
>
> Mintegral uses a separate event postback for in-app events, with the event name, value and time. The ClickFlare template doesn't include it. To send events:
>
> 1. Ask your Mintegral account manager for the current event postback URL for your S2S setup.
> 2. In ClickFlare, create a [custom conversion](/docs/en/settings/custom-conversions.md) for each event, for example `purchase`.
> 3. On the Mintegral traffic source, click **+ Another postback URL**, paste the event postback, and map it to that custom conversion.
> 4. Use `{external_id}` for the click ID, `{trackingField4}` for `campuuid`, and `{payout}` for the event value.

> **Keeping installs and events apart**
>
> If your offer's network posts both installs and events to ClickFlare, map the install postback to an `install` custom conversion, not to **Conversions**. Otherwise every purchase reaches Mintegral as an extra install.
>
> To send a postback only for some conversions, use **Event filter** under the postback to add conditions.

## Cost

The template has no cost macro, so ClickFlare doesn't receive Mintegral's spend. Set the **Cost Model** on the campaign to match how you buy in Mintegral:

* **CPA** for CPI bidding, with your bid per install as the value. ClickFlare then counts cost per conversion, so make sure only installs are counted as conversions on this campaign.
* **CPC** if you have agreed a per-click price.

Your ROI is only as accurate as that value. When actual spend differs, for example on Target CPE or Target ROAS campaigns where the price per install varies, correct it with a [manual cost upload](/docs/en/settings/manual-cost-upload.md) from Mintegral's reports. ClickFlare has no cost API integration with Mintegral. See [Cost Models](/docs/en/core-platform-concepts/cost-models.md).

***

## Troubleshooting

> **The QR test doesn't reach ClickFlare**
>
> * The QR code was opened in an in-app browser. Use a standard mobile browser.
> * The tracking URL in Mintegral is not the one ClickFlare gave you, or a macro was edited. Copy it again.
> * The URL is set up as an async click. Ask Mintegral to use it as a redirect click URL.

> **The install shows in ClickFlare but not in Mintegral**
>
> * **Traffic source postback URL** is off on the Mintegral traffic source.
> * **Disable sending postbacks to traffic source** is on in the campaign.
> * `campuuid` was empty because the **UUID** row moved or was removed. Check the URL in **Logs → Postback Status**.
> * The postback is mapped to a different event than the one the install logged. Check **Logs → Event Logs**.
> * S2S is not yet enabled on your Mintegral account.

> **The install never reaches ClickFlare**
>
> * The offer URL doesn't pass ClickFlare's click ID to the offer's network, so it cannot post back.
> * The offer's network has not attributed the install yet. Third-party attribution can take up to an hour.
> * The user didn't pass through ClickFlare, because the click is async. See [Before you start](#before-you-start).

> **Device ID columns are empty**
>
> Expected for identifiers that don't exist on the device: an Android device has no IDFA, an iPhone no GAID. If every column is empty, the macros were not replaced. See [Traffic Source Tokens Arriving Empty](/docs/en/troubleshooting/tokens-arriving-empty.md).

For the general checklist, see [Conversions not showing](/docs/en/troubleshooting/conversions-not-showing.md).

***

**FREQUENTLY ASKED QUESTIONS**

> **Q1:** I promote my own app with AppsFlyer. Should I put ClickFlare between Mintegral and AppsFlyer?

**A1:** No. Mintegral integrates with AppsFlyer, Adjust and other MMPs directly. The MMP attributes the install and posts it to Mintegral. ClickFlare would only add a redirect to that path.

> **Q2:** Can I use the same Mintegral traffic source for all my Mintegral campaigns?

**A2:** Yes. The postback is set once on the traffic source, and the promotion ID comes from each click's `uuid`, so one traffic source covers every promotion. Create a second one only if a campaign needs a different postback.

> **Q3:** Why is it `click_id` in the campaign URL and `clickid` in the postback?

**A3:** They are two halves of the same value. ClickFlare reads Mintegral's click ID from its own `click_id` parameter. Mintegral expects it back in its own `clickid` parameter. Change neither name.

> **Q4:** Does Mintegral receive the payout?

**A4:** No. The template's postback only reports that an install happened. Revenue-based optimization needs Mintegral's event postback. See [In-app events](#in-app-events).

> **Q5:** Do I need both the IDFA and the GAID rows?

**A5:** Keep both. iOS clicks fill the IDFA and Android clicks the GAID, and one traffic source serves both platforms. The postback only uses the IDFA row.

## Related

> **[Traffic source postbacks](/docs/en/tracking/how-to-configure-a-traffic-source-s2s-postback-url.md)**
>
> Every token you can use in a postback.

> **[Custom conversions](/docs/en/settings/custom-conversions.md)**
>
> Keep installs and in-app events apart.

> **[Cost models](/docs/en/core-platform-concepts/cost-models.md)**
>
> How CPA and CPC costs are calculated.

> **[Conversions not showing](/docs/en/troubleshooting/conversions-not-showing.md)**
>
> The general checklist when postbacks don't arrive.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.