How Adobe Advertising Cloud Tracking Works
Adobe Advertising Cloud (now branded as Adobe Advertising) operates as an integrated DSP within the Adobe Experience Cloud ecosystem. Its tracking architecture relies on three interconnected identity and measurement systems:
AMO ID (Adobe Marketing Optimizer ID) -- A URL parameter (
s_kwcidoref_id) appended to click-through URLs. When a user clicks an Advertising Cloud ad, the AMO ID parameter is appended to the landing page URL. Adobe Analytics reads this parameter and attributes the session to the specific ad placement, campaign, and creative.Experience Cloud ID (ECID) -- The
AMCV_cookie set by the Experience Cloud ID Service (VisitorAPI.jsoralloy.js). This first-party cookie provides a persistent visitor identifier shared across all Adobe Experience Cloud solutions. Advertising Cloud uses ECID for view-through attribution by matching ad impression logs against ECID values captured in Adobe Analytics.Advertising Cloud Conversion Pixel -- An image pixel or JavaScript tag deployed on conversion pages. This pixel fires to
ad.doubleclick.netoreveresttech.net(Adobe's ad serving domain) and registers a conversion event associated with the user's ECID or cookie ID.
The data flow works as follows:
Ad Click → Landing Page (AMO ID in URL) → Adobe Analytics captures AMO ID + ECID
Ad View → Impression logged with ECID → User later visits site → Analytics matches ECID → View-through attribution
For this system to function, Adobe Analytics and the Experience Cloud ID Service must be deployed on your site alongside the Advertising Cloud tracking components.
Installing Advertising Cloud Tracking
Step 1: Experience Cloud ID Service
The ECID service must be present on every page. If using the Web SDK (alloy.js):
<script src="https://cdn1.adoberesources.net/alloy/2.19.0/alloy.min.js" async></script>
<script>
alloy("configure", {
datastreamId: "YOUR_DATASTREAM_ID",
orgId: "YOUR_ORG_ID@AdobeOrg"
});
</script>
If using the legacy VisitorAPI.js approach:
<script src="https://assets.adobedtm.com/launch-XXXXXXXX.min.js" async></script>
This is typically deployed via Adobe Launch (now Adobe Tags) as a tag management extension.
Step 2: Adobe Analytics with AMO ID Tracking
AMO ID tracking requires the Advertising Cloud integration to be enabled in your Adobe Analytics report suite. The integration appends the s_kwcid parameter to all ad click URLs automatically.
In your Analytics implementation, ensure the s_kwcid parameter is captured. If using AppMeasurement.js:
// AppMeasurement configuration
s.campaign = s.Util.getQueryParam("s_kwcid");
If using the Web SDK, AMO ID capture is handled automatically when the Advertising Cloud integration is enabled in the datastream configuration.
Step 3: Advertising Cloud Conversion Pixel
Deploy the conversion pixel on purchase or thank-you pages:
<!-- Adobe Advertising Cloud Conversion Pixel -->
<img src="https://ad.doubleclick.net/ddm/activity/src=XXXXXXX;type=CONVERSION_TYPE;cat=ACTIVITY_TAG;qty=1;cost=ORDER_TOTAL;ord=ORDER_ID;~oref=PAGE_URL" width="1" height="1" alt="" style="display:none;" />
Replace the parameter values:
src-- Your Advertising Cloud account ID (Floodlight advertiser ID)type/cat-- Activity group and tag configured in Campaign Managerqty-- Number of items (or 1 for lead gen)cost-- Order totalord-- Unique order/transaction ID (prevents duplicate counting)
For JavaScript-based tracking (supports richer data):
<script type="text/javascript">
var axel = Math.random() + "";
var a = axel * 10000000000000;
document.write('<img src="https://ad.doubleclick.net/ddm/activity/src=XXXXXXX;type=CONVERSION_TYPE;cat=ACTIVITY_TAG;qty=1;cost=' + orderTotal + ';ord=' + orderId + ';num=' + a + '?" width="1" height="1" alt="" style="display:none;" />');
</script>
Conversion Tracking
Click-Through Attribution
When a user clicks an Advertising Cloud ad:
- The ad server redirects through a tracking URL that appends
s_kwcid=AL!{accountId}!{campaignId}!{adId}to the landing page URL - Adobe Analytics reads
s_kwcidfrom the URL and stores it in theAMO IDeVar - Any conversion event (purchase, lead, etc.) in the same Analytics session is attributed to the click
The AMO ID format encodes the account, campaign, ad group, keyword, and match type. This allows granular reporting in Analytics on which specific Advertising Cloud placements drove conversions.
View-Through Attribution
View-through tracking does not require URL parameters. Instead:
- Advertising Cloud logs every ad impression with the user's ECID (via cookie sync between the ad server and the Experience Cloud ID Service)
- When the user later visits your site, Adobe Analytics captures their ECID
- The Advertising Cloud integration matches impression logs against site visit ECIDs
- If a match is found within the view-through lookback window (default 60 days), the conversion is attributed as a view-through
View-through conversions appear in a separate dimension in Analytics and in the Advertising Cloud reporting UI.
Offline Conversion Upload
For conversions that happen offline (phone calls, in-store), use the Advertising Cloud Conversion API:
curl -X POST "https://api.advertising.adobe.com/v1/conversions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"conversions": [
{
"conversionTime": "2026-03-01T14:30:00Z",
"conversionType": "offline_purchase",
"conversionValue": 500.00,
"currency": "USD",
"ecid": "12345678901234567890",
"transactionId": "OFFLINE-001"
}
]
}'
Audience and Retargeting
Adobe Advertising Cloud leverages audiences from multiple sources within the Experience Cloud:
Adobe Analytics Segments
Publish Analytics segments to Experience Cloud Audiences. These segments become available in Advertising Cloud for targeting or suppression. Examples:
- High-value visitors (revenue > $500 in 30 days)
- Cart abandoners (added to cart, no purchase in 7 days)
- Repeat purchasers (2+ transactions in 90 days)
Segment data is shared via the Experience Cloud Audience Library and typically takes 24-48 hours to sync.
Adobe Audience Manager (AAM)
If deployed, AAM provides:
- Second-party data -- Audience segments from data partnerships
- Lookalike modeling -- Algorithmic expansion of seed segments
- Real-time segment qualification -- Users are added to segments within seconds of qualifying behavior
Advertising Cloud can target AAM segments directly in campaign setup.
Advertising Cloud Native Segments
Within the Advertising Cloud UI, you can create audience segments based on:
- Users who were served a specific ad (impression-based)
- Users who clicked through to the site from a specific campaign
- Conversion pixel fire history
These segments are used for sequential messaging (serve ad B to users who saw ad A) and frequency management.
Server-Side / API Integration
Advertising Cloud API (Campaign Management)
# Get campaign performance data
curl -X GET "https://api.advertising.adobe.com/v1/campaigns/{campaignId}/report" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"startDate": "2026-03-01",
"endDate": "2026-03-04",
"metrics": ["impressions", "clicks", "spend", "conversions"],
"dimensions": ["date", "placement"]
}'
Bulk Upload for Search Campaigns
For search campaign management (Google, Bing), Advertising Cloud supports bulksheet uploads:
# Upload a bulksheet for search campaign changes
curl -X POST "https://api.advertising.adobe.com/v1/search/bulksheets" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "file=@campaign_changes.xlsx" \
-F "action=apply"
Authentication for all Adobe APIs uses OAuth 2.0 via the Adobe Developer Console. Tokens are scoped to the specific IMS organization.
Common Issues
AMO ID Not Captured in Analytics
The most common integration failure. Causes include:
- Missing
s_kwcidprocessing rule -- In Adobe Analytics, a processing rule or classification must be configured to capture thes_kwcidURL parameter into the AMO ID dimension. Without this, click-through attribution silently fails. - URL parameter stripped by CDN or redirect -- If your site performs server-side redirects or a CDN strips query parameters, the
s_kwcidparameter is lost before Analytics can read it. Test by clicking an ad and inspecting the landing page URL in the browser address bar. - Analytics and ECID org mismatch -- The ECID service
orgIdmust match the organization tied to your Analytics report suite and Advertising Cloud account. Cross-org configurations cause identity mismatch.
View-Through Conversions Not Appearing
View-through attribution requires:
- ECID service deployed and functional on all site pages
- Cookie sync between the ad server and ECID (verify
demdex.netcalls in the Network tab) - Advertising Cloud integration enabled in the Analytics report suite
- Sufficient lookback window (check configuration in Advertising Cloud UI)
If demdex.net requests are blocked by the browser (ITP, ad blockers), view-through tracking fails for those users.
Duplicate Conversion Counting
The conversion pixel's ord parameter must contain a unique transaction ID. If left empty or set to a timestamp, browser refreshes on the confirmation page generate duplicate conversions. Always pass a stable, server-generated order ID.
ECID Cookie Not Setting
The AMCV_ cookie requires HTTPS and a valid orgId. Common failures:
- HTTP pages (ECID requires secure context)
- Incorrect
orgIdin the ECID configuration - Content Security Policy blocking
assets.adobedtm.comordpm.demdex.net
Platform-Specific Considerations
Adobe Ecosystem Dependency -- Advertising Cloud delivers the most value when deployed alongside Adobe Analytics, ECID, and optionally AAM. Running Advertising Cloud without Analytics eliminates click-through AMO ID attribution and view-through ECID matching, leaving only the basic conversion pixel for measurement. If your analytics stack is not Adobe, consider whether the integration benefits justify the platform cost.
Floodlight Tag Compatibility -- Advertising Cloud's conversion tracking is built on Campaign Manager 360 (formerly DoubleClick Campaign Manager) Floodlight tags. If you already use Campaign Manager for ad serving, the same Floodlight tags work for Advertising Cloud attribution. This avoids duplicate pixel deployment.
Search Campaign Management -- Advertising Cloud Search (formerly Adobe Media Optimizer) manages Google Ads, Microsoft Advertising, and Yahoo Japan campaigns. It uses portfolio-based bid optimization that can span multiple search engines simultaneously, optimizing toward a unified CPA or ROAS target. The AMO ID parameter is auto-appended to all search ad URLs managed through the platform.
Connected TV and Audio -- Advertising Cloud DSP supports CTV and audio inventory. Attribution for these channels relies on device graph matching (IP-based household matching for CTV, device ID for audio) since these environments do not support cookies or JavaScript pixels. Conversion attribution windows for CTV are typically longer (14-30 day view-through) than display.
Data Residency -- Adobe Experience Cloud data processing respects configured data residency settings. For GDPR compliance, ensure your Adobe contracts specify EU data processing if required. Advertising Cloud impression and conversion data follows the same data governance policies as the broader Experience Cloud.