Overview
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Implementation engineers | Choose your tech stack |
| Architects | Understand implementation trade-offs |
Implementation Overview
Implementing Adobe Analytics means getting data from your website into Adobe's servers. There are multiple paths depending on your tech stack and requirements.
The implementation layer
Your Website
↓
Data Layer (JavaScript object)
↓
Web SDK or AppMeasurement (Adobe library)
↓
Adobe Edge Network
↓
Report Suite (database)
Modern vs legacy
Modern: Web SDK (recommended)
- Technology: JavaScript library, uses Adobe Edge Network
- Approach: Event-based, XDM schema
- Best for: New implementations, single-page apps, omnichannel
- Performance: Optimized for speed and efficiency
Legacy: AppMeasurement (still used)
- Technology: Older JavaScript library, direct to Adobe Analytics
- Approach: Variable-based (s.prop1, s.eVar1)
- Best for: Existing implementations with minimal changes required
- Status: Supported but not recommended for new projects
You should use Web SDK unless you have constraints. It's newer, faster, and better aligned with Adobe's platform strategy.
Implementation methods
Method 1: Web SDK + Adobe Tags (recommended)
You use Adobe's tag manager (formerly called DTM) to deploy Web SDK without coding.
Pros:
- No code changes needed on your site
- Rules are configured in UI
- Data layer abstraction
- Easiest to maintain
Cons:
- Tag manager adds slight overhead
- Dependency on tag manager availability
Method 2: Web SDK + direct implementation
You implement Web SDK directly in your site code.
Pros:
- Full control
- No tag manager overhead
- Can integrate with build tools (webpack, etc.)
Cons:
- Requires developer involvement for changes
- Harder to manage across multiple properties
Method 3: Server-side implementation
You send data to Adobe from your server (Node.js, Python, Java, etc.) instead of the browser.
Pros:
- Can use server-side data your browser doesn't have
- Harder for ad blockers to interfere
- More secure (API keys server-side)
Cons:
- More complex to implement
- Latency (data comes after page load)
- Only for specific use cases
The data layer
Before you send data to Adobe, structure it in a data layer — a JavaScript object that holds all the data.
window.adobeDataLayer = [
{
page: {
name: "Homepage",
type: "landing",
siteSection: "home"
},
user: {
id: "12345",
segment: "member",
isAuthenticated: true
},
event: "pageLoad"
}
]
Web SDK or Tags read from this data layer and map it to Adobe's schema.
Why: Decoupling. Your site code doesn't need to know about analytics. You can change analytics logic without touching your site.
XDM vs variable-based
XDM schema (Web SDK)
Adobe uses a standardized schema (Experience Data Model) for all data:
{
xdm: {
web: { webPageDetails: { name: "Homepage" } },
device: { type: "Mobile" },
eventType: "web.webpagedetails.pageViews"
}
}
Variable-based (AppMeasurement)
Analytics-specific variables:
s.pageName = "Homepage";
s.prop1 = "home";
s.eVar1 = "member";
Web SDK's approach is better because it's standardized across Adobe's ecosystem. But it requires learning new schema.
Environment strategy
You need three environments:
| Environment | Purpose | Data |
|---|---|---|
| Development | Testing and debugging | Dev report suite, send EVERYTHING |
| Staging | QA before production | Staging report suite, full tracking |
| Production | Live traffic | Prod report suite, filtered clean data |
Key: Do NOT test in production. Ever.
Implementation checklist
Before launching:
- [ ] Data layer defined and stable
- [ ] Web SDK/AppMeasurement installed
- [ ] Props and eVars mapped to data layer
- [ ] Events configured
- [ ] Dev environment working
- [ ] QA completed in staging
- [ ] Monitoring/alerts set up
- [ ] Rollback plan documented
- [ ] Team trained
---
Next: Web SDK and the Edge Network