UTM Tracking for Rakuten Advertising: How to Build and Validate Campaign Links

Rakuten Advertising affiliate network label at the top connected to a 2x2 grid of purple parameter cards — utm_source=rakuten-publisher, utm_medium=affiliate, utm_campaign=fall-2026, utm_content=banner-top — with converging dashed lines to an assembled destination URL pill below, and an mlz build --validate label at the bottom

To add UTM tracking for Rakuten Advertising, add UTM parameters to the destination URL — the offer URL you configure inside the Rakuten advertiser interface — not to the Rakuten tracking link (the click.linksynergy.com URL that publishers share). GA4 reads UTM parameters from the page the browser lands on after Rakuten's redirect resolves. Use mlz build to generate normalized, per-publisher UTM destination URLs, and mlz check to validate the complete redirect chain before the program goes live in Rakuten. That is the correct setup. But here is where advertisers lose attribution: UTM parameters can be present on the destination URL and still fail to reach GA4. Rakuten's redirect architecture routes clicks through Rakuten's linksynergy.com tracking server before forwarding to your offer URL. If that redirect, or any secondary redirect on your site, strips query parameters at any hop, GA4 fires on a URL with no UTM data. A parameter syntax checker would return valid. mlz check follows the entire redirect chain and confirms that UTM parameters survive to the final destination — the check that prevents silent attribution loss in Rakuten Advertising programs.

How Rakuten Advertising's tracking architecture interacts with UTM parameters

Rakuten Advertising (formerly Rakuten Marketing, formerly Rakuten LinkShare) is one of the oldest affiliate marketing networks. When a publisher shares a Rakuten affiliate link, the click goes to Rakuten's tracking infrastructure at click.linksynergy.com first. Rakuten records the click using its own tracking parameters, then redirects the browser to the advertiser's destination URL — the URL configured as the link target inside the Rakuten advertiser interface.

Rakuten's tracking link format passes the destination URL as a URL-encoded parameter (historically the murl parameter in LinkShare). This has one important implication: UTM parameters belong on the destination URL you configure inside Rakuten, not on the Rakuten tracking link itself. The UTM parameters travel to the browser as part of the destination URL, preserved through Rakuten's redirect, and GA4 reads them at page load on the final landing page.

GA4 attribution works by reading utm_source, utm_medium, and utm_campaign from the URL at page load time — the URL the browser is on when the GA4 tag fires. For GA4 to correctly attribute affiliate traffic from Rakuten publishers, those parameters must be present on the final destination URL after Rakuten's redirect chain resolves. If the redirect strips them at any hop, the session lands in GA4 as Direct or Referral, and the affiliate team has no GA4 data to attribute to Rakuten publishers.

Note that Rakuten's own platform records click and conversion data independently of GA4, using Rakuten's proprietary publisher tracking identifiers. Both systems can coexist: Rakuten tracks affiliate conversions via its own mechanisms, GA4 tracks via UTM parameters on the destination URL. For the broader context on UTM parameters and why redirect survival matters, see the UTM tracking for developers guide.

Building per-publisher UTM destination URLs for Rakuten Advertising with mlz build

Rakuten programs typically span a diverse publisher mix — content sites, shopping platforms, loyalty programs, deal aggregators, and influencers — each needing a distinct utm_source so GA4 can attribute conversions to the right publisher type. Generating these manually introduces inconsistencies: mixed casing, misspelled source names, missing parameters. mlz build generates normalized, validated destination URLs from structured input and stores each link so you have an auditable record of what was configured in Rakuten.

The standard convention for Rakuten is utm_source=[publisher-name-or-type], utm_medium=affiliate, and utm_campaign=[campaign-name]. Use utm_content to differentiate creative variants or placements within the same publisher.

mlz build — Rakuten Advertising destination URL
$ mlz build \
  --url "https://brand.example.com/offer" \
  --source "rakuten-content-pub" \
  --medium "affiliate" \
  --campaign "fall-2026" \
  --content "banner-top" \
  --validate

{
  "tracked_url": "https://brand.example.com/offer?utm_source=rakuten-content-pub&utm_medium=affiliate&utm_campaign=fall-2026&utm_content=banner-top",
  "params": {
    "utm_source": "rakuten-content-pub",
    "utm_medium": "affiliate",
    "utm_campaign": "fall-2026",
    "utm_content": "banner-top"
  },
  "destination_url": "https://brand.example.com/offer",
  "link_id": "lnk_rakuten_fall26_bn",
  "campaign_id": "cmp_fall-2026",
  "stored": true,
  "created_at": "2026-06-28T10:05:18.000Z"
}

For a shopping or deal publisher on the same campaign, change --source to reflect the publisher type:

mlz build --url "https://brand.example.com/offer" --source "rakuten-shopping-pub" --medium "affiliate" --campaign "fall-2026" --content "deal-15off"

For a loyalty or rewards publisher:

mlz build --url "https://brand.example.com/offer" --source "rakuten-loyalty-pub" --medium "affiliate" --campaign "fall-2026"

The tracked_url value from each mlz build call is what you configure as the destination URL inside the Rakuten advertiser interface for each link type. Each publisher type gets a distinct utm_source. For naming conventions across affiliate, shopping, and loyalty publisher types, see the UTM naming conventions guide. To generate these at scale via the API or npm, see how to build UTM links programmatically.

Validating the Rakuten redirect chain with mlz check

Once you have the UTM destination URL, validate it end-to-end before configuring it in Rakuten. mlz check follows the complete redirect chain from your destination URL, confirms the server responds with a 200, and verifies there are no redirect rules that would strip UTM parameters before GA4 fires. Run it before the Rakuten program goes live — not after you notice a drop in attributed conversions.

mlz check — validate the Rakuten destination URL
$ mlz check "https://brand.example.com/offer?utm_source=rakuten-content-pub&utm_medium=affiliate&utm_campaign=fall-2026"

{
  "url": "https://brand.example.com/offer?utm_source=rakuten-content-pub&utm_medium=affiliate&utm_campaign=fall-2026",
  "valid": true,
  "checks": [
    { "check": "url_format", "status": "pass", "message": "URL format is valid." },
    { "check": "ssl", "status": "pass", "message": "URL uses HTTPS." },
    { "check": "resolution", "status": "pass", "message": "Destination responded with 200.", "details": { "status_code": 200, "response_time_ms": 196 } },
    { "check": "redirects", "status": "pass", "message": "No redirects detected." },
    { "check": "response_time", "status": "pass", "message": "Response time: 196ms.", "details": { "response_time_ms": 196 } }
  ],
  "status_code": 200,
  "response_time_ms": 196,
  "validated_at": "2026-06-28T10:05:42.000Z"
}

A clean result means the destination URL resolves correctly with UTM parameters intact. If valid is false, the checks array tells you exactly which hop in the chain failed. The most common failure in Rakuten configurations is a redirect on the advertiser's own site stripping query parameters after Rakuten's redirect resolves — a scenario a parameter-only validator would miss but mlz check catches. For a detailed walkthrough of diagnosing redirect chain failures, see how to check if a redirect strips UTM parameters.

Rakuten Advertising UTM tracking gotchas for affiliate managers

Rakuten's publisher tracking identifiers are not UTM parameters
Rakuten uses its own tracking identifiers — including mid (merchant ID), u1 (custom tracking variable), and other Rakuten-specific parameters — to track affiliate conversions within the Rakuten platform. These are entirely separate from UTM parameters and serve different purposes. Do not confuse them: UTM parameters are for GA4 attribution; Rakuten's identifiers are for Rakuten's own reports and commission management. Both can coexist on the destination URL without interfering with each other.
UTM parameters go on the destination URL, not the linksynergy.com tracking link
The Rakuten affiliate tracking link (the click.linksynergy.com URL publishers share) routes clicks through Rakuten's tracking server. Adding UTM parameters to the Rakuten tracking link itself is unreliable — they may not survive Rakuten's redirect to your destination. Always configure UTM parameters on the destination URL inside the Rakuten advertiser interface — the URL your browser ends up on after Rakuten's redirect chain completes. This is the URL GA4 reads when the page tracking tag fires.
Rakuten's u1 custom variable is separate from utm_content
Rakuten supports a custom tracking variable called u1 that advertisers can use to pass custom data through Rakuten's tracking link for reporting inside Rakuten's platform. Some teams use u1 to identify creative variants. This is a Rakuten-platform feature and does not feed GA4. To track creative variants in GA4, use utm_content on the destination URL alongside u1 in the Rakuten link. They serve different purposes and should both be used where needed.
Publisher link wrapping adds additional redirect hops
Many Rakuten publishers — particularly comparison sites, shopping aggregators, and deal platforms — wrap Rakuten tracking links in their own redirect layers. This adds one or more hops before the browser reaches your destination URL. Each additional hop is another opportunity for query parameters to be stripped if the redirect implementation does not preserve query strings. Validate the destination URL with mlz check to confirm UTM parameters survive every hop in the chain from your site's infrastructure side.
GA4 attribution requires UTMs at page load, not at the affiliate link click
GA4 reads UTM parameters from document.location at the moment the GA4 tag fires on your landing page — not when the Rakuten affiliate link is clicked. If any redirect between Rakuten's tracking server and your final landing page drops UTM parameters, GA4 receives a session with no campaign data. The session is attributed to Direct or Referral instead of to the affiliate channel. Validate the destination URL directly to confirm the redirect chain resolves cleanly before the GA4 tag fires.

Frequently asked questions

Where exactly do I add UTM parameters in the Rakuten Advertising interface?
In the Rakuten advertiser interface, each affiliate link has a destination URL or landing page URL field. That is where you paste the UTM-tagged URL you generate with mlz build. The resulting value looks like: https://brand.example.com/offer?utm_source=rakuten-publisher&utm_medium=affiliate&utm_campaign=fall-2026. Rakuten passes this URL through its tracking redirect, and your browser ends up on it after the click.linksynergy.com redirect resolves.
Does Rakuten Advertising strip UTM parameters from the destination URL?
Rakuten's redirect is generally designed to pass the destination URL through to the browser intact, including query parameters. Stripping is more likely to occur at points in the advertiser's own infrastructure: CDN redirect rules, vanity URL routing, A/B testing tools, or regional routing layers that don't preserve query strings. The safest approach is to validate the complete destination URL with mlz check before the program goes live. Do not assume the parameters survive without testing.
Can I use Rakuten's u1 variable instead of utm_source to identify publishers?
Rakuten's u1 variable is visible only inside Rakuten's reporting platform — it does not feed GA4 or any other external analytics tool. To identify publishers in GA4, you must use utm_source on the destination URL. You can use both simultaneously: u1 for Rakuten-side publisher identification, utm_source for GA4-side attribution. They are complementary, not alternatives.
How is Rakuten's mid (merchant ID) different from UTM parameters?
The mid parameter in Rakuten's affiliate links is a Rakuten-internal identifier that tells Rakuten's system which advertiser account to credit for a conversion. It is part of Rakuten's link structure and does not affect GA4 attribution. UTM parameters are entirely separate and operate at the destination URL level, read by GA4 when the page loads. You configure mid inside Rakuten's platform as part of link generation; you configure UTM parameters on the destination URL that Rakuten forwards to.
How do I validate UTM tracking across all my Rakuten links before the program launches?
Run mlz check against each destination URL you configure in Rakuten. For a program with many publisher types, generate all destination URLs using mlz build with a script or via the REST API, then validate each one. If you use a CI/CD pipeline to manage campaign configuration, see automating campaign link validation in CI/CD to gate affiliate link changes on a passing mlz check result.

Build Rakuten-compatible UTM destination URLs and validate every redirect chain

mlz build generates correctly normalized, per-publisher UTM destination URLs to configure in Rakuten's advertiser interface. mlz check validates the full redirect chain — confirming UTM parameters survive from the destination URL to the page where GA4 fires.

npm install -g missinglinkz

Free plan: 1,000 links/month. No credit card. See the UTM tracking for developers guide for the full programmatic workflow.