Rakuten - Conversions
This integration is currently in beta. Contact your MetaRouter support team to get started.
What Is Rakuten?
Rakuten Advertising is a global digital marketing company that specializes in performance-based marketing solutions. It connects advertisers with publishers to drive targeted traffic and conversions through affiliate marketing, display advertising, and search marketing. The platform offers a comprehensive suite of tools for tracking, analyzing, and optimizing marketing campaigns, enabling businesses to reach their target audiences more effectively. By leveraging its extensive network and advanced technology, Rakuten Advertising helps brands increase their online presence and maximize their return on investment.
Product Type: Affiliate
Integration Type: Starter Kit & Sync
Event Source Type: Web and Mobile Browser
Event Scope: Conversion
Capabilities
- Enables affiliate conversion tracking for Rakuten publishers
- Supports discount handling via SKU representation
- Captures and passes Rakuten-specific identifiers (
ranSiteID
) - Allows tracking of canceled orders with inverted values
- Provides optional enrichment fields for site name, product details, and customer info
Considerations
- Discounts should be reported as a SKU (“Discount”) per Rakuten’s specifications.
- Fields must follow Rakuten’s importance order:
mid
,ord
,tr
,land
,date
,cur
,skulist
,amtlist
,qlist
,coupon
,disamt
,custid
. - Customers with multiple websites should include the
sitename
field without query parameters. shipcountry
must follow the ISO 3-character country code format.amtlist
should be multiplied by 100 for most currencies, but not for Japanese Yen.- Large payloads may impact performance. Remove
namelist
if product payloads are too rich. - Rakuten sync must be used to capture
ranSiteID
and generateland
timestamp. - Rakuten accepts
order_canceled
events with negative product prices and positive discounts. - Lua-based transformations are used heavily, which may increase CPU utilization.
- In our testing, requests above ~20,000 characters in the URL began to fail. While this isn’t a formally documented limit, it may be a practical constraint to consider when using this integration.
- All values must be URL-encoded and arrays pipe-delimited.
- Complex lists (e.g., products) must be pipe-delimited.
Limitations
- Creative widgets and display ad tracking are not supported.
- GET method constraints mean payload size is limited, and structured/nested data cannot be sent.
- No batching support; each event requires its own request.
Identity Sync
- Sync Available: Yes
- Required for Starter Kit: Yes
- Prerequisites: Requires Rakuten affiliate links with
ranSiteID
- Documentation: See Additional Rakuten Sync Documentation here.
Sync Details
- Captures the
ranSiteID
from Rakuten affiliate links. - Stores a timestamp (
land
) when the user first arrives. - Enriches all server-side events with these identifiers.
- Required for linking conversions back to Rakuten publishers.
Starter Kit Setup Guide
1. Deploy the Rakuten Sync
- To collect Rakuten identifiers, you must implement the Rakuten ID sync. Refer to the Rakuten Sync Guide.
2. Gather Credentials
- Ask Rakuten representatives for the following credential:
- Merchant ID (
MERCHANT_ID
)
- Merchant ID (
3. Add a Rakuten - Conversions Integration
- From the integration library, add a Rakuten - Conversions integration. Then, fill out the Connection Parameters:
Connection Parameter | Description |
---|---|
MERCHANT_ID | Numeric ID provided by Rakuten to identify your account. |
4. Configure Event Mapping
- MetaRouter provides all of the event mappings that Rakuten integrations typically require. You may add custom events, parameters, or mappings in accordance with Rakuten’s API documentation.
5. Deploy to Pipeline
- In the Pipelines tab, add your Rakuten - Conversions integration.
- Select the correct integration revision.
- Click Add Integration to finalize deployment.
Event Mappings
Global
Output Key | Description | Expected Input |
---|---|---|
mid Required | String: Merchant ID provided by Rakuten | $$MERCHANT_ID$$ |
tr Required | String: Rakuten ranSiteID value | context.providers.rakuten.ranSiteID |
land Required | String: Timestamp of landing (yyyymmdd_hhmm GMT) | context.providers.rakuten.landTimestamp |
custid | String: Anonymous user ID | anonymousId |
did | String: Mobile device advertising ID | context.device.advertisingId |
date Required | String: Event timestamp (yyyymmdd_hhmm GMT) | Expression – format from input.timestamp |
shipcountry | String: Shipping country (ISO Alpha-3) | traits.address.country |
sitename | String: Page URL without query | Expression – strip query from context.page.url |
Event Specific
Order Completed
Output Key | Description | Expected Input |
---|---|---|
ord Required | String: Order ID | properties.order_id |
amtlist Required | Array: Product amounts in cents (×100, except JPY) | Expression – build from properties.products |
skulist Required | Array: Product SKUs, plus “Discount” if present | Expression – build from properties.products |
qlist Required | Array: Quantities, with 0 for discounts | Expression – build from properties.products |
cur Required | String: 3-char currency code (uppercase) | properties.currency |
altord | String: Alternate order ID | properties.checkout_id |
namelist | Array: Product names, plus “Discount” if present | Expression – build from properties.products |
brandlist | Array: Product brands (if available) | Expression – build from properties.products |
catlist | Array: Product categories (if available) | Expression – build from properties.products |
coupon | String: Order-level coupon code | properties.coupon |
couponlist | Array: Product-level coupons (if available) | Expression – build from properties.products |
disamt | Integer: Discount amount in cents | properties.discount |
Order Canceled
Output Key | Description | Expected Input |
---|---|---|
ord Required | String: Order ID | properties.order_id |
amtlist Required | Array: Negative product amounts, positive discount | Expression – build from properties.products |
skulist Required | Array: Product SKUs, plus “Discount” if present | Expression – build from properties.products |
qlist Required | Array: Quantities, with 0 for discounts | Expression – build from properties.products |
cur Required | String: 3-char currency code (uppercase) | properties.currency |
altord | String: Alternate order ID | properties.checkout_id |
namelist | Array: Product names, plus “Discount” if present | Expression – build from properties.products |
brandlist | Array: Product brands (if available) | Expression – build from properties.products |
catlist | Array: Product categories (if available) | Expression – build from properties.products |
coupon | String: Order-level coupon code | properties.coupon |
couponlist | Array: Product-level coupons (if available) | Expression – build from properties.products |
disamt | Integer: Discount amount | properties.discount |
Required & Recommended Identifiers
These identifiers must be mapped to Rakuten in order for successful user matching to occur. Without these IDs, any events sent to Rakuten may not be accurately reflected in reporting.
Attribute | Example | Sync Injector Required? |
---|---|---|
ranSiteID Required | abc-123 | Yes |
landTimestamp Required | 20250627_1025 | Yes |
anonymousId Recommended | a1b2c3d4 | No |
Integration Validation
Please reach out to your Rakuten representative to validate incoming data.
Updated 25 minutes ago