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

# Rakuten Advertising and ClickFlare Integration Guide

> Track Rakuten Advertising offers in ClickFlare: pass the click ID in u1 and register a postback with Rakuten's Postback API, with commissions as payout.

![Rakuten Advertising and ClickFlare Integration](https://mintcdn.com/clickflare/b2lpDlx8sR69TsUK/images/integrations/covers/rakuten-advertising.png?fit=max\&auto=format\&n=b2lpDlx8sR69TsUK\&q=85\&s=1114b01a8756fa52f582f5a5b1869ee1)

Rakuten Advertising is a global affiliate network. Advertisers run their own programs on it, and as a publisher you apply to each advertiser separately. Tracking links run through `click.linksynergy.com`.

To track Rakuten Advertising offers in ClickFlare, two links have to carry the ClickFlare click ID in both directions:

* **The offer URL** sends the ClickFlare click ID to Rakuten in `u1`.
* **The postback URL** sends it back to ClickFlare with every transaction event, together with your commission and Rakuten's transaction ID. You register it through Rakuten's **Postback API**.

Rakuten's setup has more moving parts than most networks: `u1` needs a feature called **Signature** on your account, the Postback API is in beta, and Rakuten can send the same sale more than once (a preliminary event, a final event, and a cancellation if the order is returned). This guide covers all of it.

> [!TIP]
>
> Only need the two values? The [Click ID & postback macros](/docs/en/integrations/click-id-and-postback-macros.md?q=rakuten) page has them ready to copy with your tracking domain.

***

## At a glance

To set up Rakuten Advertising with ClickFlare:

1. Set the domain and reporting time.
2. Create two custom conversions.
3. Create the Rakuten affiliate network.
4. Create the offer with u1.
5. Register the postback with Rakuten.

Each step is explained in [Setup](#setup).

| | Rakuten Advertising + ClickFlare |
| - | - |
| **How it connects** | S2S postback registered through Rakuten's Postback API (beta) |
| **What reaches ClickFlare** | Commission per transaction event, incl. cancellations |
| **Timing** | Real time, per conversion |
| **Key parameters** | `u1`, `<u1>`, `<commissions>`, `<etransaction_id>`, `<is_event>` |
| **Works with** | Publisher accounts with Signature enabled |
| **Good to know** | 400 ms timeout, one attempt. Rakuten doesn't retry a failed send. |

***

## How the data flows

```text theme={null}
Ad click
  → https://trk.yourdomain.com/cf/r/CAMPAIGN?...
     (ClickFlare records the click and generates the click ID)
  → [optional lander → CTA uses the ClickFlare click URL]
  → https://click.linksynergy.com/deeplink?id=ABC123&mid=12345&murl=...&u1=CF_CLICK_ID
     (Rakuten stores the ClickFlare click ID as u1, the Member ID)
  → Visitor buys on the advertiser's site
  → Rakuten pushes the transaction event to your postback:
     https://trk.yourdomain.com/cf/cv?click_id=CF_CLICK_ID&payout=8.50&txid=ETRANSACTION_ID&ct=N&is_event=N
     (ClickFlare matches the conversion to the original click)
```

The two links mirror each other:

| Link | Built from | Rakuten side | ClickFlare side |
| - | - | - | - |
| **Offer URL** (in ClickFlare) | Rakuten's parameter + ClickFlare's token | `u1` | `{cf_click_id}` |
| **Postback URL** (in Rakuten) | ClickFlare's parameter + Rakuten's field | `<u1>`, `<commissions>`, `<etransaction_id>`, `<is_event>` | `click_id`, `payout`, `txid`, `ct` |

> [!NOTE]
>
> **Offer URL = their parameter + your token. Postback URL = your parameter + their field.** Rakuten writes the click ID into `u1` on the way in and returns it in the `<u1>` field on the way out. Rakuten's help center writes postback fields in angle brackets, for example `is_event=<is_event>`.

***

## What you'll need

* An active ClickFlare account with your **own tracking domain** set up. Shared domains get flagged by networks and blocked by browsers. See [Tracking domains](/docs/en/settings/tracking-domains.md).
* A Rakuten Advertising publisher account, approved in the advertiser programs you want to promote.
* **Signature** enabled on your account. Rakuten makes `u1` available to publishers enabled for Signature. Ask your account manager or Rakuten support if you're not sure.
* Access to Rakuten's **Developer Portal** (you log in with your Publisher Dashboard credentials), an **API access token**, and a user account associated with the publisher ID that will use the postback.
* Two [custom conversions](/docs/en/settings/custom-conversions.md) in ClickFlare, set up in the steps below.

***

## What the Rakuten Advertising template contains

ClickFlare has a **Rakuten Advertising** affiliate network template. It comes pre-filled with the field names from Rakuten's own documentation:

![The Rakuten Advertising template in ClickFlare: Click Id, Payout, Transaction ID and Event Type use the u1, commissions, etransaction\_id and is\_event fields](https://mintcdn.com/clickflare/b2lpDlx8sR69TsUK/images/integrations/rakuten-advertising/clickflare-rakuten-advertising-template-parameters.png?fit=max\&auto=format\&n=b2lpDlx8sR69TsUK\&q=85\&s=446352127bab55fc30b9672b31404a44)

| Field | Template value | ClickFlare parameter | Why |
| - | - | - | - |
| **Click Id** | `<u1>` | `click_id` | Rakuten's field for the value you passed in `u1`. |
| **Payout** | `<commissions>` | `payout` | What you earn on the transaction. `sale_amount` would be what the customer paid. |
| **Transaction ID** | `<etransaction_id>` | `txid` | Rakuten's unique ID for each transaction record. |
| **Event Type** | `<is_event>` | `ct` | `Y` for a preliminary event, `N` for a final one. See [Preliminary, final and cancelled events](#preliminary-final-and-cancelled-events). |

A Rakuten network you added before November 2026 may still hold the template's older values: `{u1}`, `{sale-amount}` and `{transaction-id}`, with **Event Type** empty. Open the network and change them to the values above.

> [!WARNING]
>
> Don't use the sale amount as the payout. With it, ClickFlare records the customer's order value as your revenue, and ROI looks far better than it is.

Rakuten's Postback API documentation lives in its Developer Portal, behind a login. The field names above come from Rakuten's public help center. Before you go live, check them against the Developer Portal's Events API field list, or ask Rakuten support to confirm the postback format.

***

## Setup

Everything in ClickFlare is done from inside the campaign editor. Create the offer and the affiliate network inline as you go.

**1. Set up your own tracking domain**

Add a custom tracking domain before anything else, for example `trk.yourdomain.com`. The postback URL is built on this domain, so changing it later means registering the postback with Rakuten again. Rakuten skips any endpoint that takes longer than 400 ms to respond, so use a domain that answers quickly. See [Tracking domains](/docs/en/settings/tracking-domains.md).

**2. Report conversions by postback time**

Go to **Settings → General Settings** and set **Conversion registration time reporting** to **Postback Timestamp**.

Many Rakuten advertisers confirm sales later, for example when the order ships. With the default **Visit Timestamp**, ClickFlare reports each conversion on the day of the original click. See [Conversion registration time](/docs/en/settings/conversion-registration-time-reporting.md).

> [!NOTE]
>
> This is an account-wide setting. It changes the date conversions are reported on for every campaign.

**3. Create two custom conversions**

Go to **Settings → Custom Conversions** and add two:

| Name | Parameter | Main reporting |
| - | - | - |
| Rakuten preliminary | `Y` | Off: don't add to the main conversions or revenue columns |
| Rakuten final | `N` | On: add to the main conversions and revenue columns |

The parameter must match the `ct` value exactly, so enter capital `Y` and `N`. A `ct` value that matches no custom conversion is logged as a general conversion.

**4. Create the campaign**

Go to **Campaigns → New Campaign**, choose **Redirect tracking**, pick your traffic source and select your tracking domain. See [Creating a campaign](/docs/en/campaigns/creating-a-campaign-in-click-flare.md).

**5. Create the Rakuten affiliate network**

While creating the offer for the campaign, create a new affiliate network in its **Affiliate Network** field. You can also create it first under **Affiliate Networks → + New**. Either way:

1. Search for **Rakuten** and pick the **Rakuten Advertising** template.
2. Name it, for example "Rakuten Advertising".
3. Check that **Click Id** is `<u1>`, **Payout** is `<commissions>` and **Transaction ID** is `<etransaction_id>`, with no spaces before or after.
4. Check that **Event Type** is `<is_event>`.
5. Under **Conversion tracking**, select your own **Tracking Domain** and keep **S2S Postback URL** as the tracking method.
6. Set **Payout currency** to the currency Rakuten pays you in.

ClickFlare builds the postback URL from these fields. Rakuten requires the `is_event=<is_event>` field in every postback URL, so add it at the end when you copy it:

```text theme={null}
https://trk.yourdomain.com/cf/cv?click_id=<u1>&payout=<commissions>&txid=<etransaction_id>&ct=<is_event>&is_event=<is_event>
```

![The Conversion tracking section of the Rakuten Advertising network in ClickFlare, with the generated postback URL built from the u1, commissions, etransaction\_id and is\_event fields](https://mintcdn.com/clickflare/b2lpDlx8sR69TsUK/images/integrations/rakuten-advertising/clickflare-rakuten-advertising-postback-url.png?fit=max\&auto=format\&n=b2lpDlx8sR69TsUK\&q=85\&s=8514cfafa3ba8e2f867f7ab1e8988efe)

Copy the postback URL and save the network.

**6. Build the deep link in Rakuten**

In the Rakuten Publisher Dashboard, get the link for the advertiser, or build a deep link by hand. A deep link has your ID (`id`), the advertiser ID (`mid`) and the destination page (`murl`):

```text theme={null}
https://click.linksynergy.com/deeplink?id=ABC123&mid=12345&murl=https%3A%2F%2Fadvertiser.com%2Fpage
```

Make sure the destination in `murl` is URL-encoded, so the `u1` you add next is read as part of the Rakuten link and not as part of the destination.

**7. Create the offer in ClickFlare**

In the offer form:

1. Name the offer, for example after the advertiser.
2. Select the Rakuten affiliate network you just created.
3. Paste the Rakuten link into **Offer URL** and turn on **Append Click ID to Offer Url**. ClickFlare adds `u1={cf_click_id}`. You can also add `&u1={cf_click_id}` yourself. Use one or the other, not both.

   ![The Offer URL field of the ClickFlare New Offer form with a Rakuten Advertising link ending in u1=\{cf\_click\_id}](https://mintcdn.com/clickflare/b2lpDlx8sR69TsUK/images/integrations/rakuten-advertising/clickflare-rakuten-advertising-offer-url.png?fit=max\&auto=format\&n=b2lpDlx8sR69TsUK\&q=85\&s=ab9dd684c8cfff1d0a344fe2ce612bcf)

> [!WARNING]
>
> Write `{cf_click_id}` with braces. Without them Rakuten stores the literal text `cf_click_id`, the postback returns that text, and the conversion cannot be matched to a click.

A `u1` value can be up to 72 characters, and Rakuten recommends no special characters. It shows in Rakuten's reports as the **Member ID**.

Set the payout to **Auto** so ClickFlare uses the `payout` value from the postback.

**8. Register the postback with Rakuten**

Log in to Rakuten's **Developer Portal** with your Publisher Dashboard credentials. With your API access token, use the **Postback API** to set up a postback for your publisher ID and paste the ClickFlare URL. The same API lets you update, delete, disable or enable the postback, and check its status.

Rakuten can rename fields, send only some of them, reorder them or add static values. You don't need any of that: the URL above already names each field the way ClickFlare expects. If you can't call the API yourself, ask Rakuten support or your account manager to set up the postback for you with the URL.

**9. Add a lander (optional)**

If you send traffic through a lander before the offer, the lander's CTA must use the **ClickFlare click URL**, not the Rakuten link. ClickFlare then fills in the click ID when it redirects to the offer. See [Paths with landers and offers](/docs/en/campaigns/campaign-s-path-destination-to-landers-offers.md).

**10. Save the campaign and launch**

Save the campaign, copy the campaign URL from the **Tracking** tab and use it in your ads. Before you spend money on traffic, run the checks in [Verify the setup](#verify-the-setup).

***

## Preliminary, final and cancelled events

Rakuten can send several postbacks for one sale. The `is_event` field tells them apart:

* **Preliminary (`is_event=Y`).** Some advertisers report sales in batches, for example travel and booking sites, pre-orders, or shops that report when the order ships. They send a preliminary event at the time of purchase. Rakuten says to treat every `Y` event as preliminary: the advertiser can still remove it.
* **Final (`is_event=N`).** When the sale is confirmed, the postback fires again with `N`. With real-time pixel tracking, the `Y` event is followed almost immediately by its `N` event.
* **Cancellation.** If the customer cancels or returns the order, Rakuten sends another event with `is_event=N`, a **negative** commission and sale amount, and a new transaction ID. A partial return only carries the returned item's amount.

Every event has its own `etransaction_id`, so ClickFlare records each one. That's why the setup sends `is_event` as `ct`:

| Event | Lands in | Effect |
| - | - | - |
| Preliminary (`Y`) | **Rakuten preliminary** | An early signal, kept out of your main conversions and revenue |
| Final (`N`) | **Rakuten final** | Counted in the main conversions and revenue |
| Cancellation (`N`, negative) | **Rakuten final** | Subtracts its commission from revenue |

Your main revenue column then shows final commissions minus cancellations, and the preliminary column shows what's still waiting for confirmation. A cancellation does add one to the final conversion count, so judge Rakuten campaigns on revenue rather than conversion count.

> [!NOTE]
>
> Rakuten sends one record per product in an order. An order with three different products arrives as three postbacks with the same order ID and three different transaction IDs, each with its own commission.

***

## Rakuten's postback limits

* **400 ms timeout, one attempt.** Rakuten doesn't send data if your endpoint takes longer than 400 ms, and it doesn't retry a failed send.
* **Postbacks can be disabled without notice.** Rakuten says you won't be told if your postback is disabled automatically. Check it now and then with the Postback API's endpoint status call.
* **Clicks older than 30 days.** Rakuten's Events API keeps click data for 30 days for `u1` matching, and transactions from older clicks have no `u1`. The Postback API pushes the same data, so expect those transactions to arrive without a click ID that ClickFlare can match.
* **Not for accounting.** Rakuten recommends its **Signature Reconciliation Feed Reports**, not the postback, for reconciling what you're paid.

***

## Verify the setup

**1. Click through the campaign**

Open the ClickFlare campaign URL (with a lander, also click the CTA). When the offer loads, the first request goes to `click.linksynergy.com`. Check that it has `u1=` followed by a real ClickFlare click ID, not the literal text `{cf_click_id}`.

**2. Test the postback by hand**

Copy a real click ID from ClickFlare. Open the postback URL in your browser with test values, for example `https://trk.yourdomain.com/cf/cv?click_id=REAL_CLICK_ID&payout=1&txid=test1&ct=N`. The conversion should show on the campaign in the **Rakuten final** column. This tests ClickFlare's side only.

**3. Check the first real transaction**

Run an **Individual Item Report** in Rakuten with the **Member ID (u1)** field to see that your click IDs arrive. Data can take up to four hours to show there. Then check **Logs → Event Logs** in ClickFlare for the matching conversion, with `ct` set to `Y` or `N`.

***

## Troubleshooting

> [accordion] Transactions show in Rakuten but not in ClickFlare
>
> Work through these in order:
>
> * **The postback is disabled.** Check its status with the Postback API's endpoint status call.
> * **Your endpoint was too slow.** Rakuten skips endpoints that take longer than 400 ms and doesn't retry.
> * **The Member ID is empty in Rakuten.** The offer URL is missing `u1={cf_click_id}`, Signature isn't enabled on your account, or the lander CTA links straight to Rakuten.
> * **The click is older than 30 days.** Rakuten's event data may no longer have the `u1` for it.
> * **The postback is missing is\_event.** Rakuten requires `is_event=<is_event>` in the URL.
>
> See [Troubleshooting S2S postbacks](/docs/en/tracking/troubleshooting-s2s-postback-url-in-clickflare.md) for the general checks.

> [accordion] Every sale shows up twice
>
> The preliminary and final events both count as main conversions. Check that both custom conversions exist with the parameters `Y` and `N`, that only **Rakuten final** is included in main reporting, and that **Event Type** is `<is_event>`.

> [accordion] Revenue is far too high
>
> **Payout** still uses the sale amount. Change it to `<commissions>` and update the postback with Rakuten.

> [accordion] ClickFlare receives a literal field name or cf\_click\_id
>
> * A literal `<u1>` or `{u1}` means Rakuten didn't replace the field. Confirm the field names and their format with Rakuten support.
> * A literal `cf_click_id` means the offer URL in ClickFlare has the token without braces. It must be `{cf_click_id}`.

***

## FAQ

> [accordion] Does ClickFlare integrate with Rakuten Advertising?
>
> Yes. ClickFlare has a Rakuten Advertising template. You pass the click ID in u1, and Rakuten's Postback API sends each transaction event to ClickFlare's S2S postback.

> [accordion] Why does Rakuten need Signature for u1?
>
> Rakuten ties `u1` to Signature, its member-level tracking. Without it, `u1` isn't available, and conversions can't carry the ClickFlare click ID back. Ask your account manager to enable it.

> [accordion] Is the Postback API stable?
>
> Rakuten labels it beta. It says future changes will affect how you interact with the API, not how the postback works.

> [accordion] Can I count preliminary events as conversions?
>
> Yes. Turn on main reporting for **Rakuten preliminary** too. Expect double counts for advertisers that send both events, though: most `Y` events are followed by an `N`.

> [accordion] Can I send the conversion back to my traffic source?
>
> Yes. Each custom conversion is mapped to traffic source postbacks separately, so you can send only **Rakuten final** to the traffic source and keep preliminary events in ClickFlare.

***

## Related

> [card] [Macro reference](/docs/en/integrations/click-id-and-postback-macros.md)
>
> Every network's values

> [card] [Custom conversions](/docs/en/settings/custom-conversions.md)
>
> Y and N as ct values

> [card] [Postback issues](/docs/en/tracking/troubleshooting-s2s-postback-url-in-clickflare.md)
>
> Troubleshoot S2S


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