Adobe Analytics

What Is Adobe Analytics?

Adobe Analytics is a digital analytics platform that helps organizations measure user behavior across websites and other digital touchpoints. It ingests event data, attributes performance to channels, and provides customizable reporting and segmentation. Using the Bulk Data Insertion API (BDIA), MetaRouter delivers server-side events to Adobe as compressed CSV batches aligned to your report suite configuration.


Product Type: Analytics

Integration Type: Starter Kit

Event Source Type: Web & Mobile Browser

Event Scope: Full-Funnel


Capabilities

  • Server-side delivery to BDIA as compressed CSV batch files.
  • Support for key commerce events.
  • Visitor and session context via IP, user agent, page URL/name, and referrer.
  • Mobile browser hinting (device model, platform, version) from server-side context.
  • Deduplication support using purchaseID when provided.

Considerations

Event and Data Requirements

  • The page event is sent without an events field value, which Adobe automatically registers as a Page View.
  • Ensure your report suite allows timestamped data; BDIA requires a timestamp on every hit.
    • Unix Time and ISO-8601 are supported for timestamp. Milliseconds are not allowed.
  • Any field not listed in COLUMN_NAMES is dropped from CSV output (data loss risk).
  • visitorID: Must be alphanumeric and up to 100 bytes. Avoid using symbols or dashes — the starter kit automatically removes dashes from the anonymousId value before sending it as the visitorID.
  • purchaseID: Alphanumeric only, max 20 bytes. Truncation collisions can cause deduplication drops.
  • The Starter Kit does not send a zip value by default. To have Adobe Analytics derive zip codes from IP addresses, go to Report Suite Settings → General Account Settings → Zip Options and select a setting that always uses Geo Zip.

Currency and Product Formatting

  • currencyCode: If set, it must be a valid Adobe currency code; invalid values cause the entire hit to be dropped.
    • If currencyCode is omitted, Adobe uses the report suite’s default currency.
  • The products field uses semicolons (;) to separate product attributes and commas (,) to separate multiple products. Remove any , ; or | characters from product names, categories, or eVar values before sending.
  • Use dot (.) as the decimal separator in products values (e.g., 18.99).
  • Revenue is the sum of price component in products; send total price = unit × quantity.

Data Transport and Configuration

  • Data can be sent to Adobe in two ways: using column headers or a single queryString column with URL-encoded values. While most fields can be included in the queryString, certain fields are required to exist as separate columns. The Starter Kit uses the column header approach by default, but both methods are supported. If a field is present in both, the column header value takes priority.
  • Column names are mostly case-insensitive, but some require exact casing. Follow Adobe’s naming scheme—any case mismatch between playbook output and column name will exclude the field from the CSV.
  • All CSV files are sent under the visitor group metarouter-1. If other data sources also send to the Bulk Data Insertion API, this group name should not be utilized.
  • UI parameters that accept array values (TOKEN_SCOPES and COLUMN_NAMES) must be entered as comma-delimited strings. Do not include outer quotes—only wrap values containing commas in quotes (e.g., timestamp,ipaddress,"comma,example",pageName).
  • Choose regional BDIA endpoints (US/EU) to meet data residency requirements.
  • If you are self-hosted, please note Adobe prefers fewer, larger gzipped CSV uploads; keep files under 100 MB compressed.

Limitations

  • Output must be a flat JSON before CSV rendering (see Mobile Device Mappings example for producing hints.* flat keys).
  • scOpen (Carts) is not included by default because it is typically defined to fire only once when a visitor first adds a product to the cart, which does not align with standard AJS e-commerce event behavior.

Identity Sync

  • Sync Available: No

Starter Kit Setup Guide

1. Gather Credentials

  • Client ID, Client Secret, Token Scopes: Follow Adobe’s Server-to-Server Authentication setup guide to obtain your Client ID, Client Secret, and Token Scopes from the Adobe Developer Console: OAuth Server-to-Server Credential
  • Report Suite ID: You can find your Report Suite ID in the Adobe Analytics Admin Console under Analytics → Report Suites. It appears in the “Report Suite ID” column next to each suite name and usually follows the format examplecompanyglobalprod. This value must match exactly in your integration for data to be accepted.
  • You must assign the technical account (or associated Adobe I/O integration) a product profile in the Adobe Admin Console that includes access to Analytics and the specific report suite(s). Product Profile Permissions
  • The product profile must also include the Web Service Access permission under Analytics Tools to enable API usage. Analytics Tools Permissions

2. Add a Adobe Analytics Integration

  • From the integration library, add a Adobe Analytics integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
CLIENT_IDOAuth Server-to-Server client ID for BDIA access.
CLIENT_SECRETOAuth Server-to-Server client secret.
TOKEN_SCOPESComma-delimited OAuth scopes (e.g., openid,AdobeID,additional_info.projectedProductContext).
TOKEN_URLOAuth token endpoint. Defaults to Adobe IMS if not provided.
EVENT_ENDPOINTBDIA Events endpoint (US/EU specific options available).
COLUMN_NAMESComma-delimited CSV header list matching all mapped fields in this kit. Example (for the standard Starter Kit): timestamp,reportSuiteID,visitorID,userAgent,ipaddress,pageURL,pageName,events,products,purchaseID,currencyCode,referrer,hints.mobile,hints.model,hints.platform,hints.platformversion

3. Configure Event Mapping

  • MetaRouter provides all of the event mappings that Adobe Analytics integrations typically require. You may add custom events, parameters, or mappings in accordance with Adobe Analytics's API documentation.

4. Deploy to Pipeline

  • In the Pipelines tab, add your Adobe Analytics integration.
  • Select the correct integration revision.
  • Click Add Integration and finalize deployment.

Event Mappings

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
reportSuiteID RequiredString: Target report suite ID(s).Enrichment – 'ADD_REPORT_SUITE_ID_HERE'
timestamp RequiredInteger: Unix time (seconds).Expression – convert input.timestamp (RFC3339) to Unix seconds
userAgent RequiredString: User agent string.context.userAgent
visitorID* Required- Please see note* belowString: Alphanumeric visitor ID (no dashes).Expression – remove - from anonymousId
ipaddress* Required- Please see note* belowString: IP address.context.ip
pageURL** Required- Please see note** belowString: Page URL.context.page.url
pageName** Required- Please see note** belowString: Page title.context.page.title
referrerString: Referrer URL.context.page.referrer
hints.mobileBoolean: True if mobile browser.Expression – derives from context.device presence
hints.modelString: Device model (if available).Expression – context.device.model
hints.platformString: OS/platform name.Expression – context.os.name
hints.platformversionString: OS/platform version.Expression – context.os.version

*IP is required if Visitor ID is not included.

**At least one of pageName or pageURL must be provided.

Event Specific

Order Completed

Output KeyDescriptionExpected Input
eventsString: Event code.Enrichment – 'purchase'
productsString: Comma-delimited products; fields delimited by ;. Strips `; ,Expression – build from properties.products
currencyCodeString: ISO currency (e.g., USD). Uppercase.properties.currency
purchaseIDString: Purchase ID (≤20 bytes; alphanumeric).properties.order_id

Product Viewed

Output KeyDescriptionExpected Input
eventsString: Event code.Enrichment – 'prodView'
productsString: Product string; fields delimited by ;. Strips `; ,Expression – build from properties.*
currencyCodeString: ISO currency (e.g., USD). Uppercase.properties.currency

Product Added

Output KeyDescriptionExpected Input
eventsString: Event code.Enrichment – 'scAdd'
productsString: Product string; fields delimited by ;. Strips `; ,Expression – build from properties.*

Product Removed

Output KeyDescriptionExpected Input
productsString: Product string; fields delimited by ;. Strips `; ,Expression – build from properties.*

Cart Viewed

Output KeyDescriptionExpected Input
eventsString: Event code.Enrichment – 'scView'
productsString: Comma-delimited products; fields delimited by ;. Strips `; ,Expression – build from properties.products
currencyCodeString: ISO currency (e.g., USD). Uppercase.properties.currency

Checkout Started

Output KeyDescriptionExpected Input
eventsString: Event code.Enrichment – 'scCheckout'
productsString: Comma-delimited products; fields delimited by ;. Strips `; ,Expression – build from properties.products
currencyCodeString: ISO currency (e.g., USD). Uppercase.properties.currency

Required & Recommended Identifiers

These identifiers must be mapped to Adobe Analytics in order for successful user matching to occur. Without these IDs, any events sent to Adobe Analytics may not be accurately reflected in reporting.

AttributeExampleSync Injector Required?
ipaddress Required203.0.113.42No
userAgent RequiredMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)…No
visitorID Recommended4f8c2a7b9e3dNo

Integration Validation

You can validate the integration by reviewing your standard reports in Adobe Analytics for the Report Suite ID configured in the integration. It is recommended to first test the setup using a staging report suite in a staging environment to confirm that events are flowing correctly before enabling data collection in production.


Additional Adobe Analytics Documentation