Skip to main content

Adobe Analytics Reader

Note

This adapter is in preview and is available on Striim Developer only. See Striim Developer for more information.

Adobe Analytics is a comprehensive digital analytics platform that enables businesses to track, analyze, and optimize their online presence and customer experiences. You can use the Adobe Analytics Reader to read from supported objects/tables in Adobe Analytics.

Feature summary

Feature

Supported?

Notes

Objects

Standard objects

Custom objects

Authentication

Basic authentication

Username and password

OAuth authentication

Manual configuration based

Custom authentication methods

Not all methods may be supported

Operations

Automated mode

Initial load

Pull-based incremental load

Push-based incremental load

Automated pipeline

Governance

Connection profile

Sherlock AI

Sentinel AI

Schema handling

Initial schema creation

Works with supported targets

Schema evolution

Setup

Wizard template

Flow Designer

Striim TQL

Runtime

Resilience/recovery

Supported only for Incremental load.

Recovers data based on the provided Incremental Load Marker.

Parallel execution

Metrics

Standard metrics

Supported authentication method

The Adobe Analytics Reader supports connecting to Adobe Analytics using OAuth authentication. Adobe Analytics requires a valid site license for usage, with users needing to be assigned specific roles to access the instance. To generate an access token for API requests, users must authenticate via their Adobe ID. Each user operates under a Named User Licensing model, ensuring centralized management of access and permissions.

You must create an application in the Adobe developer console to obtain the OAuth or Server-to-Server OAuth credentials.

Supported objects

The Adobe Analytics Reader supports reading from the following supported objects:

Object

Available check columns

CalculatedMetrics

Created, Modified

CollectionSuites

Dimensions

Metrics

Segments

Created, Modified

Users

CreateDate, LastAccess, LastLogin

The following data types are supported:

Adobe Analytics

WA_EVENT_TYPE

Striim

Text String

WA_STRING

java.lang.String

Integer

WA_INTEGER

java.lang.Integer

Number

WA_DOUBLE

java.lang.Double

Date Time

WA_DATETIME

org.joda.time.DateTime

Date

WA_DATE

org.joda.LocalDate

Boolean

WA_BIT

java.lang.Boolean

array

WA_STRING

java.lang.String

dictionary

WA_STRING

java.lang.String

Rate limits

The following are rate limits that apply to requests. The rate limits are applied at the user level, meaning each user has their own limit. When a rate limit is exceeded, the API responds with an HTTP status code of 429, indicating "Too Many Requests." You should implement retry logic in your application to handle these responses gracefully.

Rate limit type

Limit

Description

Requests per minute

120 requests per minute

This limit is enforced as 12 requests every 6 seconds per user. Exceeding this limit results in a 429 error response.

Timeout for API requests

60 seconds

If an API request takes longer than this duration, it will time out.

Adobe Analytics Reader properties

Property

Type

Default value

Notes

Auth mode

Enum

OAuth

There are two modes: OAuth, ServerToServerOAuth. Configure properties as follows:

  • For OAuth: configure the Client secret and Refresh token.

  • For ServerToServerOAuth: configure the Server client ID and Server client secret.

Client ID

String

Client ID of the user's project in the developer console.

Client secret

Password

Client secret of the user's project in the developer console.

Connection pool size

Integer

20

Specifies the maximum number of active connections.

Connection profile name

String

Used when Use connection profile is set to true.

Select the Adobe Analytics Connection Profile from the list

Exclude tables

String

A list of tables excluded from read operations. Typically used to create a list of exceptions when the Tables property includes wildcards. Misconfiguration of the Tables and Exclude Tables properties can cause "Invalid table names" errors.

Incremental load marker

String

The incremental load marker is a unique incremental column in each object used for incremental load. When no marker is specified, tables are resynced at each polling interval.

Specify the name of the column that contains the start position value. This column must meet the following criteria:

  • It should have an integer or timestamp data type (for example, a creation timestamp or an employee ID).

  • The values must be unique and continuously increasing to ensure proper incremental reading.

Migrate schema

Boolean

False

Only available in Initial Load or Automated mode. Set to True to enable initial schema migration, which propagates the object schema from the source to the target.

Mode

Select list:

  • Automated mode

  • Initial load

  • Incremental load

Automated

Automated mode applies incremental updates to objects that support incremental load and performs full resyncs for objects that do not support incremental load.

Polling interval

Integer

5m

Specifies an interval as an integer followed by a unit. Supported units are days (d), hours (h), minutes (m), or seconds (s). The reader polls the source at the specified interval.

Refresh token

Password

An OAuth 2.0 refresh token that is used to get a new access token.

Server client ID

String

The client ID from the server-to-server OAuth details in the developer console. Configure this property only when Auth mode is set to ServerToServerOAuth.

Server client secret

Password

The client secret from the server-to-server OAuth details in the developer console. Configure this property only when Auth mode is set to ServerToServerOAuth.

Start Position

String

%=-1

Value of the incremental load marker that defines the initial reading position.

Tables

String

A semicolon-delimited (;) list of objects to read from the source. Supports the % wildcard. Misconfiguration of the Tables and Exclude Tables properties can cause "Invalid table names" errors. Do not modify this property when recovery is enabled for the application.

Thread pool count

Integer

10

The number of parallel running threads. The default value of zero specifies single-threaded operation.

When the value of the thread pool counter is higher than the connection pool size, large data ingestion operations can cause the app to halt. Since best performance is achieved when using one thread for each table being synced, increasing the size of the connection pool to match the number of threads in use is a performance best practice.

Use connection profile

Boolean

Set to True to use a connection profile instead of specifying the connection properties here. See Using connection profiles.

Limitations

If a table does not have an Incremental Load Marker column, then a full sync will be done every polling interval.