IntegrationsAnalyticsAdobe Analytics

Adobe Analytics

Server-side event delivery to Adobe Analytics via the Data Insertion API for pageviews, custom events, and e-commerce tracking.

Why route Adobe Analytics through Datafly Signal

  • Your numbers stop depending on what the browser allows. Client-side analytics loses every visit where the tag is blocked or the page unloads early. Signal delivers from the server, so Adobe Analytics receives the complete event stream.
  • Client IP and user agent are preserved. Server-to-server delivery normally loses both, which weakens matching. Signal forwards the genuine visitor values as request headers so Adobe Analytics attributes the event to the right session.
  • Presets for Retail and Automotive. The mapping starts from a working configuration for your vertical instead of a blank field map.
  • One consent decision governs every destination. Adobe Analytics is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.

Prerequisites

Before configuring Adobe Analytics in Datafly Signal, you need an Adobe Experience Cloud account with Adobe Analytics provisioned, your tracking server URL, and a report suite ID.

Step 1: Access Adobe Experience Cloud

  1. Go to experience.adobe.com and sign in with your Adobe ID.
  2. If you do not have an account, contact your Adobe account team or start a free trial.
  3. Verify that Adobe Analytics is listed in the app switcher (nine-dot menu in the top-right).

Step 2: Find Your Report Suite ID

  1. In Adobe Analytics, go to Admin > Report Suites.
  2. Locate the report suite you want to receive events from Datafly Signal.
  3. Copy the Report Suite ID (e.g. mycompanyprod).
  4. If you need a new report suite, click Create New and follow the wizard.

Use a development report suite for initial testing. You can switch to your production report suite once you have verified events are arriving correctly.

Step 3: Find Your Tracking Server URL

  1. In Adobe Analytics, go to Admin > All Admin > Tracking Server.
  2. Your tracking server URL will be in the format yourcompany.sc.omtrdc.net or a custom CNAME domain.
  3. Copy the tracking server hostname.

Alternatively, check your existing Adobe Analytics implementation (browser network tab or Adobe Experience Debugger) for the trackingServer value.

Step 4: Enable the Data Insertion API

  1. Go to the Adobe Developer Console.
  2. Create a new project or open an existing one.
  3. Click Add API and select Adobe Analytics.
  4. Choose OAuth Server-to-Server as the authentication method.
  5. Select the product profile that includes your report suite.
  6. Copy the Client ID (API Key) from the credentials page.
⚠️

The Data Insertion API requires a valid API key (Client ID) from the Adobe Developer Console. This is separate from your Adobe Analytics login credentials.

Step 5: Choose Visitor ID Type

Datafly Signal supports the following visitor identification methods:

  • ECID (recommended): Uses the Adobe Experience Cloud ID for cross-solution identity resolution. Requires the Adobe Identity Service integration to be active.
  • Custom Visitor ID: Uses a custom visitor identifier that you provide via datafly.identify().
  • Fallback ID: Uses the Datafly anonymous ID as the visitor identifier.

Select the method that matches your Adobe Analytics implementation.

Step 6: Check Timestamp Configuration

  1. In Adobe Analytics, go to Admin > Report Suites > Edit Settings > General > Timestamp Configuration.
  2. Note whether your report suite uses Timestamps Required, Timestamps Optional, or Timestamps Not Allowed.
  3. If timestamps are required or optional, enable timestamp_enabled in the Signal integration config.

API Endpoint

POST https://{tracking_server}/b/ss//6
Content-Type: application/xml

One event per call, as an XML <request> to the Data Insertion API. The report suite travels in <reportSuiteID>; no API key is needed. Every call carries a visitor (<marketingCloudVisitorID> when the ECID is known, and always <ipAddress> with <userAgent>) and either a page (<pageName>, <pageURL>) or a custom link (<linkType>o</linkType> with <linkName>). Adobe answers 200 with <status>SUCCESS</status>, or <status>FAILURE</status> and a <reason> for a hit it will not report.

Configuration

FieldTypeRequiredDescription
tracking_serverstringYesYour Adobe Analytics tracking server hostname (e.g. mycompany.sc.omtrdc.net). Found in Admin > All Admin > Tracking Server.
report_suite_idstringYesThe Adobe Analytics Report Suite ID to receive events (e.g. mycompanyprod). Found in Admin > Report Suites.
api_keysecretYesAdobe I/O API Key (Client ID) for authenticating Data Insertion API requests. Created in the Adobe Developer Console (see Step 4 above).
visitor_id_typeselectYesThe type of visitor identifier to use: ecid (Experience Cloud ID), custom (your own user ID), or fallback (Datafly anonymous ID).
timestamp_enabledbooleanNoEnable if your report suite uses Timestamps Required or Timestamps Optional. When enabled, each hit includes a UTC timestamp.
currency_codestringNoISO 4217 currency code for revenue events (e.g. GBP, USD, EUR). Defaults to the report suite’s configured currency.

Management UI Setup

  1. Go to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Adobe Analytics or filter by Analytics.
  4. Click Install, select a variant if available, and fill in the required fields:
    • Enter your Tracking Server hostname from Step 3.
    • Enter your Report Suite ID from Step 2.
    • Paste your API Key (Client ID) from Step 4.
    • Select your Visitor ID Type from Step 5.
    • Optionally enable Timestamps and set a Currency Code.
  5. Click Install Integration to create the integration with a ready-to-use default blueprint.

Management API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/adobe_analytics/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Adobe Analytics",
    "variant": "default",
    "config": {
      "tracking_server": "mycompany.sc.omtrdc.net",
      "report_suite_id": "mycompanyprod",
      "api_key": "your-adobe-client-id",
      "visitor_id_type": "ecid",
      "timestamp_enabled": true,
      "currency_code": "GBP"
    },
    "delivery_mode": "server_side"
  }'

Presets

PresetKeyEvents
RetailecommerceEvery event in the ecommerce event spec.
InsuranceinsuranceEvery event in the insurance event spec, plus application_started / application_submitted.
AutomotiveautomotiveEvery event in the automotive event spec.

Event Mapping

Signal eventAdobe hitNotes
pagePage viewpageName (page name or title), pageURL, referrer, channel (from category); no linkName
view_item, vehicle_viewedCustom link + events=prodViewproducts string
add_to_cart, vehicle_savedCustom link + events=scAddproducts string
remove_from_cart / view_cartCustom link + events=scRemove / scViewproducts string
begin_checkout, application_startedCustom link + events=scCheckoutproducts string
purchase, policy_purchased, policy_renewedCustom link + events=purchasepurchaseID (order or policy number), products, currencyCode
Every other eventCustom link (linkType=o, linkName = the Signal event name)

products is Adobe’s Category;Product;Quantity;Price string built from items[] (Price is the line total). Every documented property of the event is sent as contextData.<name> (for example contextData.insurance_type, contextData.quote_id): map them to eVars, props and success events with the report suite’s processing rules. currencyCode falls back to the integration’s currency_code.

Identity

SourceAdobe field
vendor_ids.ecidmarketingCloudVisitorID
context.ipipAddress
context.user_agentuserAgent
timestamptimestamp (Unix seconds), only when timestamp_enabled is on

For cross-solution identity, pair this integration with the Adobe Identity Service so the Experience Cloud ID (ECID) is the visitor key everywhere. Without an ECID Adobe identifies the visitor from IP and user agent. No personal data is sent.

Default consent category: analytics. Events are suppressed for visitors who have not consented to analytics tracking.

Verify it’s working

  1. In the Signal Management UI, open your Adobe Analytics integration and watch the Live Events stream as you trigger events on your site.
  2. Confirm 200 responses from {tracking_server}/b/ss//6 with <status>SUCCESS</status> in the body.
  3. In Adobe Analytics, open Real-Time Reports (if enabled on your report suite). Page views appear within ~60 seconds.

Standard Workspace reports may take 30-90 minutes to populate.

Testing

Once your integration is active and events are flowing, verify in Adobe Analytics:

  1. Go to your Adobe Analytics workspace and open Real-Time Reports (if enabled on your report suite).
  2. Alternatively, open the Adobe Experience Debugger browser extension and check the server calls section.
  3. In the Workspace, create a freeform table with the Page dimension to verify page views are arriving.
  4. Check the Events report to confirm custom events and ecommerce events are being recorded.
  5. Use the Visitor Profile Viewer to verify that visitor IDs are being stitched correctly.

Adobe Analytics data can take 30-90 minutes to appear in standard reports. Use Real-Time Reports or the Data Insertion API response codes for immediate verification.

Troubleshooting

SymptomCauseFix
No data in reportsIncorrect report suite IDVerify the report suite ID in Admin > Report Suites matches the config
400 response from APIMalformed XML payloadCheck the Datafly Signal delivery logs for payload details
Events rejected with timestamp errorReport suite does not accept timestampsDisable timestamp_enabled or change the report suite’s timestamp setting
Visitor ID not stitchingWrong visitor ID type selectedEnsure visitor_id_type matches your Adobe implementation (ECID recommended)
Revenue not appearingCurrency code mismatchSet currency_code to match your report suite’s configured currency
403 authentication errorInvalid or expired API keyRegenerate credentials in the Adobe Developer Console
Duplicate hitsSignal retry after upstream timeoutAdobe deduplicates by visitor ID + timestamp; no action needed if timestamps are enabled

Delivery

Events are delivered server-side from your Datafly Signal infrastructure directly to the Adobe Analytics Data Insertion API. No client-side Adobe scripts are loaded for this integration.

Visit the Adobe Analytics Data Insertion API documentation for full API reference and advanced configuration options.

Blueprint

The Adobe Analytics blueprint version is 0.17.0 (not yet tested against a live report suite). It ships with Retail, Insurance and Automotive presets.

See also