> ## Documentation Index
> Fetch the complete documentation index at: https://www.conductor.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrate Adobe Analytics API with Conductor Intelligence

> Connect Adobe Analytics to Conductor Intelligence through Adobe's Reporting API so your organic and AI-referred traffic appears against your pages.

Beta

This feature is in a Beta program. Aspects of it are subject to change with
little or no notice.

The Adobe Analytics API integration pulls your Adobe Analytics data into Conductor Intelligence through Adobe's Reporting API. Your organic and AI-referred traffic then appears in your Conductor pages reporting.

This integration replaces the Data Warehouse export and SFTP transfer used by the [file-based Adobe Analytics integration](https://www.conductor.com/docs/intelligence/integrate-adobe-analytics-with-conductor-intelligence.md). Instead of scheduling reports in Adobe, you give Conductor an API credential, and Conductor reads the data directly.

## Who needs to be involved in this setup?

* Someone with Adobe admin rights, to create the API credential and set its permissions.
* Someone who can edit segments in Adobe's Analysis Workspace.
* Someone with Standard or Admin access to Conductor.

> [!NOTE]
>
> Conductor also has an integration between Adobe Analytics and Conductor Monitoring. This article covers the integration for Conductor Intelligence. For Monitoring, see [Adobe Analytics in Conductor Monitoring](https://www.conductor.com/docs/monitoring/adobe-analytics-in-conductor-monitoring.md).

## Before you start

Gather the following details first. We'll describe them, and then provide instructions for finding them in Adobe.

### Once for your Adobe organization

Your organization needs to create an API credential once. You can reuse it for every website you connect.

| What you need | Where it comes from |
| - | - |
| Client ID and Client Secret | An OAuth Server-to-Server credential in Adobe Developer Console |
| Organization ID (optional) | The IMS organization identifier, ending in `@AdobeOrg` |

### For each website

Repeat these for every website you connect to Conductor.

| What you need | Where it comes from |
| - | - |
| Report suite | The suite that collects data for the website |
| An Organic segment, an AI segment, or both | Saved segments in that report suite |
| The dimension that holds your full page URL | Usually a custom eVar, not a built-in dimension |

## Create the Adobe API credential

**Where:** [Adobe Developer Console](https://developer.adobe.com/console)

Conductor authenticates with an OAuth Server-to-Server credential. This is a machine credential, so it doesn't depend on any one person's Adobe login.

![Adobe Api Config Credential](https://mintcdn.com/conductor-0f65a05d/WXbEJMXGm03DBN9u/images/intelligence/adobe-api-config-credential.gif?s=840917baa1b0734f35c5eddee17546c4)

Sign in to Adobe Developer Console with an Adobe account that has **System Administrator** or **Developer** rights in your organization.

1. Confirm the organization selector at the top right shows the organization that owns your Analytics data.
   > [!TIP]
   >
   > If your company has several Adobe organizations, be sure to pick the right one.
2. Create a new project, or open an existing project you use for integrations.
3. Click **Add API**.
4. Select **Adobe Analytics** and click **Next**.
5. Choose **Server-to-Server Authentication** as the authentication type and click **Next**.
6. In the **Credential name** field, give the credential you are creating a name and click **Next**.
7. Choose the **Product profile** to assign the credential to. The next section covers what that profile must contain. If you're not sure which profile to use, pick any profile now and fix it in the next section.
8. Click **Save configured API**.
9. In the **Connected credentials** section, click the **OAuth Server-to-Server** header.
10. Find and copy down the **Client ID**.
11. Click the **Retrieve client secret** button and copy down the value.
    > [!WARNING]
    >
    > Adobe shows the client secret **only once**. If you didn't save it, generate a new one from the same screen.

The **Organization ID** also appears on this screen, as a string ending in `@AdobeOrg`. You need it only if your Adobe account belongs to more than one organization.

## Give the credential the right access

**Where:** Adobe Admin Console

The product profile you chose above grants your credential access to three things:

* **Report suites.** The profile must include the suite you want Conductor to read. A suite that's missing here won't appear in Conductor's report suite menu.
* **Dimensions.** Adobe lets administrators restrict individual dimensions per profile. The profile must include the dimension that holds your page URL. A dimension that's missing here won't appear in Conductor's **Page URL** menu.
* **Metrics.** The same restriction applies to metrics such as Visits and Page Views. A metric that's missing here won't appear in Conductor's metric menu.

To set up the profile:

![Adobe Api Configure Adobe](https://mintcdn.com/conductor-0f65a05d/WXbEJMXGm03DBN9u/images/intelligence/adobe-api-configure-adobe.gif?s=87ebafad20f1379ba5dd5dac8d9bc8e0)

1. Go to **Products** > **Adobe Analytics**.
2. If you have multiple products available, choose the product you are integrating with.
3. Choose your product profile from the list.
4. Under **Permissions** > **Report Suites**, add the suite you're connecting.
5. Under **Permissions** > **Metrics**, include every metric you plan to import. You must include **Visits**. Then, you can add **Page Views**, **Orders**, **Revenue**, or any custom events you want to see in Conductor.
6. Under **Permissions** > **Dimensions**, include the dimension that holds your page URL and the **Referrer** dimension.

> [!TIP]
>
> Before you leave Adobe, open Analysis Workspace, switch to the product profile the credential uses, and check that the dimension and metrics you expect are all visible.

## Create the Organic and AI segments

**Where:** Adobe Analysis Workspace

Conductor reports only on the traffic you define here, not on everything in the report suite you choose. You define this traffic with **two** saved Adobe segments:

* One for organic search traffic
* One for AI-referred traffic.

To build a segment, go to **Components** > **Segments** and click **+ Add**. The specific instructions for each segment are detailed below.

Follow these recommendations for both segments:

* **Keep each segment to one job.** Don't combine an organic condition and an AI condition in the same segment. Conductor applies the segments separately, and a combined segment silently narrows both.
* **Share the segment, or own it with the account the credential uses.** A segment that's private to another user may not appear in Conductor's segment menu.

Be sure to save the segment to the report suite you're connecting.

### The Organic segment

If your team already has an organic segment it trusts and reports from, use that one. If several websites share the report suite, make a copy of that segment and add the [URL condition](#if-several-websites-share-the-report-suite) to the copy. Don't edit the original.

Otherwise, build a new segment with the approach that fits your implementation:

| Approach | Condition to build | When it fits |
| - | - | - |
| Marketing Channel | **Last Touch Channel** equals `Natural Search` | If you use Adobe's Marketing Channel processing rules. This is the most common and most portable choice. |
| Referrer Type | **Referrer Type** equals `Search Engines` | If you don't have Marketing Channels configured. This catches search referrers Adobe recognizes, but misses app and dark traffic. |
| Tracking code classification | A classification on the **Tracking Code** variable equals your own label for organic, such as `SEO` or `Search Engines` | If your team already tags organic campaigns and reports on that label internally. |
| Custom eVar | Your own channel eVar equals your organic value | If you have a custom implementation. Check that the value is set on the entry hit, not only later in the visit. |

### The AI segment

Choose an option based on how current your report suite is.

* **Option A: Adobe's built-in AI classification (preferred).** Newer report suites classify AI assistants automatically. Build the segment as **Referrer Type** equals `Conversational AI tools`. Adobe maintains the list of AI engines, so new assistants are picked up without any edits from you.
* **Option B: A list of referring domains.** If `Conversational AI tools` doesn't exist in your report suite, list the domains yourself, joined with `OR`:

  ```text theme={null}
  Referring Domain contains chatgpt.com
  OR Referring Domain contains openai.com
  OR Referring Domain contains perplexity.ai
  OR Referring Domain contains claude.ai
  OR Referring Domain contains gemini.google.com
  OR Referring Domain contains copilot.microsoft.com
  ```

  If several websites share the report suite, put the whole `OR` list inside its own container, and join that container to the [URL condition](#if-several-websites-share-the-report-suite) with `AND`. If you add the URL condition directly after the last line, `AND` applies only to that line, and the segment returns the wrong traffic.

  > [!NOTE]
  >
  > Keep two things in mind with Option B:
  >
  > * Adobe's **Referring Domain** dimension collapses subdomains to the registered domain, so `gemini.google.com` may be recorded as `google.com`. Test the segment before relying on it, and consider also matching `utm_source=` parameters on **Entry URL**.
  > * A hand-maintained list goes stale as the industry evolves. Set a reminder to review it quarterly.

### If several websites share the report suite

Each Conductor integration covers one website. If your report suite collects data for more than one website, the segment is the only place to tell them apart. Build one Organic segment and one AI segment for each website.

In each segment, add a condition that limits the traffic to that website, and join it to the traffic condition with `AND`:

```text theme={null}
<organic or AI condition>
AND <your page URL dimension> starts with https://www.example.com
```

Replace `<organic or AI condition>` with the condition you chose in [The Organic segment](#the-organic-segment) or [The AI segment](#the-ai-segment). The page URL dimension is the one described in [Choose the dimension that holds your page URL](#choose-the-dimension-that-holds-your-page-url).

> [!TIP]
>
> The **starts with** condition must match the text Adobe records, character for character. Before you write it, build a freeform table in Analysis Workspace with your page URL dimension as the row, and review the top 20 values.
>
> If some pages are recorded without `www`, or over `http` instead of `https`, add one clause for each form, joined with `OR`. Use **starts with**, not **contains**. A **contains** condition also matches pages on other domains whose query string includes your domain name.

If a single website is in your report suite, you don't need the URL condition.

## Choose the dimension that holds your page URL

**Where:** Adobe Analysis Workspace

Conductor matches Adobe data to your pages by URL, so this choice determines how much of your traffic lands on the right page.

Adobe's built-in page dimensions usually hold a page name (such as `/index.html` or `prodgroup:[400]`), not a URL. Most implementations need a custom eVar with a name like "Page URL" or "Canonical URL."

### Check your page URL dimension

In Analysis Workspace, build a freeform table with:

* Your candidate dimension as the row.
* **Visits** as the metric.
* Your Organic segment applied.
* One week as the date range.

Then check the following:

| Check | What good looks like | If it fails |
| - | - | - |
| Do the values look like full URLs? | `https://www.example.com/boots/hiking` | A page name or path fragment won't match your pages in Conductor. |
| How much traffic sits in **Unspecified**? | Under 10% | The variable isn't set on every page. This is a tagging gap your implementation team needs to fix. |
| How much traffic sits in **(Low Traffic)**? | Under 5% | The variable has too many unique values for its monthly limit, and Adobe is bucketing the overflow. This is permanent for data already collected. |

## Connect the integration in Conductor

**Where:** Conductor Intelligence

![Adobe Api Config Conductor](https://mintcdn.com/conductor-0f65a05d/WXbEJMXGm03DBN9u/images/intelligence/adobe-api-config-conductor.gif?s=911d3835a2233e4f032df7d8a51efbf8)

Go to **Integrations** > **Web Analytics** and click **Add integration**.

### Choose the web property and provider

1. Select the web property the Adobe data belongs to.
2. Choose **Adobe Analytics API**.

> [!WARNING]
>
> Choose **Adobe Analytics API**, not **Adobe Analytics**. The latter option sets up the file-based integration.

### Enter your credentials

1. Paste the **Client ID** and **Client Secret** you generated above.
2. Leave **Organization ID** blank, unless your Adobe account belongs to more than one organization. In that case, paste the identifier ending in `@AdobeOrg`.
3. Click **Continue**.

Conductor validates the credentials immediately. If you see an error here, the problem is with the credential itself.

### Choose the organization and report suite

Conductor reads both from Adobe. Select your organization, then the report suite.

> [!TIP]
>
> Check the report suite name carefully. Development and production suites often differ.

### Name the integration

The **Integration Display Name** is how the integration appears in your list of web analytics integrations. Conductor suggests a name based on the organization and report suite, which you can change.

### Add the segments

1. Under **Segments**, click **Add Segments**.
2. Select **Organic**, **AI**, or both. Each one you select adds a row.
3. For each row, open **Select a segment** and search for the Adobe segment you built above. The search matches on segment name, so searching for `SEO` or `AI` usually narrows it quickly.

Each row maps to one Adobe segment. If a segment you expect is missing from the menu, it's likely not shared, or it was saved to a different report suite.

### Add the metrics

**Visits** is required and can't be removed.

To add more metrics, click **Add Custom Metric**. You can add up to 10 metrics in total, including Visits. For each metric:

1. Select the Adobe metric.
2. Enter a **Display Name**. This is the name that appears in Conductor reports.

If a metric you expect is missing from the menu, it's almost always restricted by the product profile.

### Map the dimensions

Two dimensions are required:

| Dimension | What to select |
| - | - |
| **Page URL** | The dimension you chose above. Custom eVars appear under their Adobe names. |
| **Referrer** | Conductor sets this field automatically with the API, so it's read-only. |

The **Display Name** column controls the label in Conductor reports. The defaults work for most setups.

### Save the integration

Click **Save and Complete**.

The integration appears in your web analytics list with a **Processing** status until Conductor completes its first weekly run after setup.

> [!TIP]
>
> Conductor also backfills up to 24 months of historical data.

## Check the data

**Where:** Adobe Analysis Workspace and Conductor Intelligence

Check the data once the integration's status changes from **Processing** and the backfill is complete:

1. In Analysis Workspace, apply the same segment and metric you mapped in the integration.
2. Set a historical date range.
3. Compare the visit total against what Conductor shows for the same date range.

If you connected both an Organic and an AI segment, check each one separately.

> [!NOTE]
>
> Conductor doesn't import rows where the page URL is **(Low Traffic)** or **Unspecified**. Adobe records **(Low Traffic)** when the dimension collects more unique values than its monthly limit allows, and **Unspecified** when the dimension wasn't set on the page view. Neither is a real URL, so neither can be matched to a page. Expect your Conductor totals to be lower than an unfiltered Adobe report by roughly the share of traffic in those two buckets. The checks in [Check your page URL dimension](#check-your-page-url-dimension) show you how large that share is.

> [!NOTE]
>
> Processing and backfilling historical data takes around 30 minutes. New data is then added weekly.

## Change the integration

**Where:** Conductor Intelligence

Go to **Integrations** > **Web Analytics** and click **View / Modify** for the integration.

You can change segments, metrics, and display names at any time.

> [!WARNING]
>
> Changing the report suite or the page URL dimension changes what the data means. Set up a new integration instead of editing the existing one.

## Keep the integration running

**Where:** Adobe Developer Console and Adobe Analysis Workspace

The credential stops working if someone:

* Deletes the Adobe Developer Console project.
* Removes the credential from its product profile.
* Rotates the client secret.

If your organization rotates API secrets on a schedule, update the integration in Conductor at the same time.

Conductor reads segments live from Adobe. Editing a segment's definition in Analysis Workspace changes what Conductor reports from the next import, with no change on the Conductor side. This is useful when you add a new AI engine to an Option B segment, and worth knowing before anyone edits a segment for an unrelated reason.

## Get help

For questions about your setup, contact [Conductor Support](mailto:support@conductor.com).

> [!WARNING]
>
> Never include your Adobe client secret in an email or support ticket.

## FAQs

[Review web analytics frequently asked questions](https://www.conductor.com/docs/intelligence/web-analytics-faqs.md)
