Handoff pack: runbooks, access list, training, open backlog
Implementation overview
Phase
What you do
Deliverables
Define Data Layer Requirements
Standardized data layer objects; align naming with XDM
Data layer spec, naming convention guide
Set Up Property & Environments
Dev/Stage/Prod libraries, embed codes
Property config doc, environment map
Install Core Extensions
Analytics, Web SDK, Target, CMP extensions
Extension inventory
Build Data Elements
Read values from data layer/cookies/URL/JS
Data element catalog
Build Rules
Events, conditions, actions; consent gating
Rule library, QA test cases
Configure Consent & Privacy
CMP integration, regional opt-in/out testing
Consent gating matrix
QA & Debug
Debug mode, Assurance, data layer validation
QA test log
Publish & Version Control
Build → Stage → Approve → Prod, rollback plan
Publish log, version history
Monitor & Maintain
Error monitoring, periodic audits
Tag health dashboard, audit report
Step-by-step implementation
Do these 11 steps in order, in a development environment. Each step lists where to go, what to do, what to check, what you must know, and the questions interviewers ask about it.
Step 1
Define the data layer
Where
Outside Adobe — with the web development team
What you do
Define the data layer object (page, user, product, event) and align names with the XDM schema.
Tips
Document it per page template; review in code before any rule is built.
Check before moving on
Data layer spec signed off.
Must know
The data layer is the contract between developers and analysts: tags read from it, developers write to it.
Adobe Client Data Layer (ACDL) is event-driven: you push objects to window.adobeDataLayer and it keeps a history of every push.
Name data layer fields to match XDM where the concept is the same; it makes Web SDK mapping trivial.
Interview questions tap to reveal a model answer
Why use a data layer instead of scraping the page?
Scraping breaks when the page design changes; a data layer is a stable, documented contract for every value you track.
How does the Adobe Client Data Layer work?
Pages push event objects to window.adobeDataLayer; listeners (and Tags rules) react to each push, and the layer keeps the full state and history.
What goes in a data layer spec?
Every object (page, user, product, cart, event), each field with type and example, when it is set, and which tag uses it.
Screenshot Data layer object in the browser consoleAdd screenshots/launch/step-01.pngStep 2
Create the datastream
Where
Data Collection > Datastreams > New datastream
What you do
Create a datastream linked to the event schema and add services (AEP dataset, Analytics, Target).
Tips
Use separate datastreams or overrides per environment.
Check before moving on
Datastream ID noted for each environment.
Must know
A datastream is server-side configuration on the Edge Network that says where Web SDK data goes: AEP dataset, Analytics report suite, Target and more.
Create a datastream per environment (Dev, Stage, Prod) so test data never reaches production reports.
Changing routing in the datastream needs no website release.
Interview questions tap to reveal a model answer
What is a datastream?
Edge Network configuration that receives Web SDK events and forwards them to the services you enable, with the IDs (report suites, sandbox, dataset) for each.
Why one datastream per environment?
So development and staging traffic goes to test report suites and sandboxes, keeping production data clean.
Can one Web SDK call feed both Analytics and AEP?
Yes. The datastream forwards the same event to the Analytics service and the AEP dataset at once.
Name the property, set the domain and platform (Web), and save.
Tips
One property per site or group of closely related sites.
Check before moving on
Property appears in the list.
Must know
A tag property is the container for a site or app: its extensions, data elements, rules and environments.
Each property has Development, Staging and Production environments, each with its own embed code.
Embed codes go in the page head and should load before tags fire; install each environment's code on the matching site environment.
Interview questions tap to reveal a model answer
What is a tag property?
The container in Tags that holds the configuration for one site or app and is published as a library through environments.
Why separate embed codes per environment?
So the dev site loads the dev library and production loads only approved, published code.
Web vs. mobile property?
Web properties deliver a JavaScript library to browsers; mobile properties configure the Mobile SDK in native apps.
Screenshot New property dialogAdd screenshots/launch/step-03.pngStep 4
Install extensions
Where
Property > Extensions > Catalog
What you do
Install the Web SDK (enter datastream IDs per environment), Core, and the consent/CMP extension; Analytics or Target only if legacy.
Tips
Keep one ECID source across all extensions.
Check before moving on
Extensions show as installed.
Must know
The Core extension is always installed; it provides the basic event, condition and data element types.
Web SDK extension (alloy) is the modern route to AEP, Analytics and Target; AppMeasurement and at.js extensions are the older, product-specific route.
Install only the extensions you use; each adds weight to the library.
Interview questions tap to reveal a model answer
Web SDK vs. AppMeasurement?
Web SDK sends one XDM call to the Edge Network for every Adobe product; AppMeasurement sends Analytics-only beacons straight to Analytics.
Which extension is mandatory?
Core. It provides page load, click and custom code events, plus base data element types.
How would you migrate from AppMeasurement to Web SDK?
Build the XDM schema and datastream, add the Web SDK extension, map data elements to XDM, run both in parallel and reconcile, then retire the old extension.
Create elements that read the data layer, cookies, URL and JS; build the XDM object/variable element.
Tips
Use the naming convention from step 1; test each one in debug before using it.
Check before moving on
Each element returns the expected type and value.
Must know
Data elements are named pointers to values (data layer path, cookie, URL parameter, JS variable, custom code).
Set the storage duration (none, page view, session, visitor) and a default value deliberately.
Test every data element in Debug mode before using it in rules; reference it as %Name% in the UI or _satellite.getVar() in code.
Interview questions tap to reveal a model answer
What is a data element?
A reusable variable in Tags that returns a value from the page, used by rules and extensions.
How do you read a data element in custom code?
With _satellite.getVar('Data element name').
What does storage duration do?
It keeps the last value for the page view, session or visitor, so later pages can reuse it when the source is no longer present.
Screenshot Data element configurationAdd screenshots/launch/step-05.pngStep 6
Build rules
Where
Property > Rules > Add rule
What you do
Add an event (Library loaded, click, custom), conditions (consent, page), and the action (Web SDK Send event).
Tips
One beacon per trigger — avoid overlapping rule conditions.
Check before moving on
Rule documented with trigger and beacon.
Must know
A rule has events (when), conditions and exceptions (only if), and actions (do).
Rule order controls which rule fires first when several share an event.
One beacon per real user action: overlapping rules cause duplicate hits, the most common Tags bug.
Interview questions tap to reveal a model answer
What are the parts of a rule?
Events that trigger it, conditions and exceptions that filter it, and actions that run, such as sending a Web SDK event.
How do you prevent duplicate tracking?
Give each user action exactly one rule, use precise conditions, and verify in Debugger or Assurance that one beacon fires.
Direct call rule vs. data layer event?
A direct call rule fires on _satellite.track() from site code; a data layer event rule reacts to a push to the data layer. Data layer events keep site code decoupled.
Screenshot Rule editor with event, condition, actionAdd screenshots/launch/step-06.pngStep 7
Gate on consent
Where
Web SDK extension > Privacy settings; rule conditions
What you do
Set default consent, update consent from the CMP, and gate each rule category behind its consent.
Tips
Test the EU opt-in flow and the US opt-out flow separately.
Check before moving on
Opt-out stops the matching beacons.
Must know
Consent state must be available before any tag fires; integrate the CMP first.
With Web SDK, set default consent (for example pending) and update it with setConsent when the visitor chooses.
Gate each category (analytics, advertising, personalization) separately and test opt-in and opt-out in every region.
Interview questions tap to reveal a model answer
How do you handle consent with Web SDK?
Configure default consent in the extension, then call setConsent with the visitor's choice from the CMP; Web SDK holds or sends data accordingly.
What does default consent "pending" mean?
Events are held locally until the visitor makes a choice; they are sent if consent is given and discarded if not. The default setting is "in"; "out" discards everything.
How do you test consent?
Opt out in each region and confirm in Debugger that no calls fire for the blocked categories, then opt in and confirm they do.
Screenshot Web SDK privacy settingsAdd screenshots/launch/step-07.pngStep 8
Publish to Development
Where
Property > Publishing flow > Add library
What you do
Add changed resources to a library, build it to Development, and install the Dev embed code.
Tips
Keep libraries small so changes are easy to review.
Check before moving on
Library builds without errors.
Must know
Changes only reach a site when they are added to a library and built.
Work in a Development library first. A library moves through four states: Development, Submitted, Approved, Published.
Name libraries by release so the history is readable.
Interview questions tap to reveal a model answer
How do changes get from Tags to the website?
Add changed resources to a library, build it to Development, test, submit to Staging, approve, then publish to Production.
What is in a library?
The set of changed rules, data elements and extensions that will be built and deployed together.
Two people edit the same rule. What happens?
The last saved revision is what goes into a library; coordinate through separate libraries and review changes before building.
Screenshot Publishing flow with the libraryAdd screenshots/launch/step-08.pngStep 9
Validate with Debugger & Assurance
Where
Adobe Experience Platform Debugger (Chrome); Data Collection > Assurance
What you do
Check every beacon, compare the payload with the schema, and look for duplicates or missing calls.
Tips
Also confirm the event lands in the AEP dataset.
Check before moving on
No duplicates; payload matches the spec.
Must know
Adobe Experience Platform Debugger shows the Edge (Web SDK) and Analytics requests a page sends, plus Tags rules that fired.
Assurance shows events end to end, including what the Edge Network did with them.
Validate against the data layer spec on every page template, not just the home page.
Interview questions tap to reveal a model answer
How do you validate a Web SDK implementation?
Use Debugger to inspect the XDM payload of each call, Assurance to follow it through the Edge Network, and check the data lands in the AEP dataset and Analytics.
A rule is not firing. How do you debug it?
Turn on Tags debug mode, check the console for the rule's event and conditions, confirm data elements return values, and check the right library is loaded.
Debugger vs. Assurance?
Debugger is a browser extension for what the page sends; Assurance is a session-based tool that shows what Adobe received and processed.
Screenshot Debugger or Assurance event viewAdd screenshots/launch/step-09.pngStep 10
Promote to Staging & Production
Where
Publishing flow > Submit for approval > Approve > Publish
What you do
Get stakeholder approval in Staging, then publish to Production with a tested rollback.
Tips
Run the cross-browser/device smoke test first.
Check before moving on
Production library live; rollback version kept.
Must know
Staging is where stakeholders approve; Production publishing should follow a documented approval.
Keep a tested rollback plan. Republishing a previous library only works for the five most recently published libraries (with Adobe-managed hosting and Archive off); otherwise build a new library that reverts the change.
Remove old tags once the new implementation is verified, so data is not double-counted.
Interview questions tap to reveal a model answer
What is the Tags publishing flow?
Development, then Submitted and built to Staging, then Approved, then Published to Production.
How do you roll back a bad release?
Republish the last good library if it is one of the five most recent (Adobe-managed host, Archive off); otherwise create a new library that reverts the changes. Then fix in Development.
What do you check right after a production publish?
That key rules fire once, beacons reach Edge or Analytics, page speed is unchanged, and no errors appear in the console.
Screenshot Publishing flow with approved libraryAdd screenshots/launch/step-10.pngStep 11
Monitor & audit
Where
Property overview; recurring tag audit
What you do
Watch tag errors and page performance; schedule a quarterly audit for broken or unused rules.
Tips
Rules with zero recent fires are often broken after site changes.
Check before moving on
Audit report filed.
Must know
Site releases break tags; schedule recurring audits (for example quarterly).
Watch library size and page-load impact.
Keep property documentation current so the next team can maintain it.
Interview questions tap to reveal a model answer
How do you keep a Tags implementation healthy?
Regular audits against the spec, monitoring for errors and missing data, and a review step in every site release.
What would you put in a tag audit?
Each rule's purpose and owner, firing tests on every template, unused rules and extensions, and consent gating checks.
A KPI dropped to zero after a site release. What do you do?
Check whether the data layer field or page element changed, confirm in Debugger, fix the data element or rule, and annotate the data gap.
Screenshot Library history / audit notesAdd screenshots/launch/step-11.png
Sources (UI paths checked against Adobe Experience League, Oct 2026 — menus can move between releases; confirm in your org): extension · quick start
Implementation by domain
How to use: do each step in your sandbox using the “How to do it” column, then read across the row to see how the same step changes by domain. Each domain column follows one scenario from top to bottom. Add a screenshot and what you learned in the last column.
Travel & Airlines · practice brand: SkyLumen Airways
In Phase 1, build the enhanced-ecommerce data layer (product, cart, order objects) before any other rule work.
In Phase 5, build the full checkout-funnel rule set (cart add, checkout start, payment info, purchase) as one cohesive sequence
In Phase 7, load-test tag-firing volume ahead of peak-traffic events (Black Friday).
Healthcare
Lab use case: Appointment booking pages
Profile: B2C (patients) + B2B (providers, payers). Compliance focus: HIPAA, HITRUST, consent-first data collection, no PHI in standard analytics tools without a BAA-covered environment.
What changes in this domain: No PHI in any data element sent client-side; extra consent gate before any tracking fires
Special considerations: Strict page-level exclusion rules for patient-portal pages
Page type and booking step only; nothing about conditions or the patient.
How (any domain): Agree a data layer (page, user, product, event) with developers; align names with XDM.
Check: Data layer visible in the console on every template.
Screenshot Data layer · HealthcareAdd screenshots/launch/health-01.png
AEP service only; no third-party pixels.
How (any domain): Data Collection > Datastreams > New: link the event schema, add services.