Adobe Analytics Event Tracking | OpsBlu Docs

Adobe Analytics Event Tracking

How to implement custom event tracking in Adobe Analytics. Covers event naming conventions, required and optional parameters, ecommerce events, debugging.

Overview

Adobe Analytics event tracking captures user interactions through custom events, link tracking, and the products variable. Events are defined in your Solution Design Reference and must align with your business requirements for accurate reporting.

Event Types in Adobe Analytics

Standard Events (Commerce Events)

Pre-defined ecommerce events with specific meanings:

Event Description Usage
prodView Product viewed Product detail page loads
scAdd Cart addition Item added to cart
scRemove Cart removal Item removed from cart
scView Cart view Cart page viewed
scCheckout Checkout initiation Checkout process started
purchase Order completed Transaction confirmed

Custom Events (event1-event1000)

Define custom events for business-specific interactions:

Event Name Description
event1 Newsletter Signup User subscribes to email
event2 Video Start Video playback begins
event3 Video Complete Video watched to end
event4 Form Submit Form submission success
event5 File Download Document downloaded

Counter vs. Currency Events

  • Counter Events: Increment by 1 (default) or specified value
  • Currency Events: Store monetary values (event with = syntax)
// Counter event
s.events = "event1";

// Counter with increment
s.events = "event1=5";

// Currency event (configured in Admin)
s.events = "event10=99.99";

Event Implementation

AppMeasurement Syntax

// Single event
s.events = "event1";

// Multiple events
s.events = "prodView,scAdd,event5";

// Events with values
s.events = "event1=5,event10=99.99";

// With products variable
s.products = "Electronics;SKU-12345;1;69.99";
s.events = "prodView,scAdd";

Web SDK (XDM) Approach

alloy("sendEvent", {
  xdm: {
    eventType: "commerce.productViews",
    commerce: {
      productViews: { value: 1 }
    },
    productListItems: [{
      SKU: "SKU-12345",
      name: "Wireless Headphones",
      quantity: 1,
      priceTotal: 69.99
    }]
  }
});

Launch Rule Configuration

  1. Create a rule for the interaction
  2. Set conditions (e.g., data layer event)
  3. Add Adobe Analytics action
  4. Configure events in the "Set Variables" section

Core Events Catalog

Page View Events

// Standard page view (automatic)
s.pageName = "example:electronics:headphones:pdp";
s.channel = "electronics";
s.prop1 = "product";
// events not needed - tracked automatically

// Virtual page view (SPAs)
s.t(); // Sends page view hit

For non-navigation clicks:

// Custom link
s.tl(this, 'o', 'CTA Click - Add to Cart');

// Download link
s.tl(this, 'd', 'Download - Product Brochure.pdf');

// Exit link
s.tl(this, 'e', 'Exit - Partner Site');

Parameters:

Position Description Values
1 Link reference this or element reference
2 Link type o (custom), d (download), e (exit)
3 Link name Descriptive string

Ecommerce Events

Product View

s.events = "prodView";
s.products = "Electronics;SKU-12345";
s.prop1 = "product";
s.eVar5 = "recommended"; // How they arrived
s.tl(this, 'o', 'Product View');

Add to Cart

s.events = "scAdd";
s.products = "Electronics;SKU-12345;1;69.99";
s.eVar10 = "quick-add"; // Add method
s.tl(this, 'o', 'Add to Cart');

Checkout Steps

// Checkout start
s.events = "scCheckout";
s.products = "Electronics;SKU-12345;1;69.99";
s.prop10 = "checkout-step-1";
s.t();

// Shipping selection
s.events = "event20"; // Custom checkout step event
s.eVar15 = "ground";  // Shipping method
s.prop10 = "checkout-step-2";
s.t();

Purchase

s.events = "purchase";
s.products = "Electronics;SKU-12345;1;69.99,Accessories;SKU-67890;2;25.98";
s.purchaseID = "ORD-98765";
s.transactionID = "ORD-98765";
s.eVar20 = "credit_card"; // Payment method
s.t();

Engagement Events

Scroll Depth

// At 25%, 50%, 75%, 100% thresholds
s.events = "event30"; // Scroll event
s.eVar30 = "50%";     // Depth reached
s.tl(this, 'o', 'Scroll Depth - 50%');

Video Tracking

// Video start
s.events = "event40";
s.eVar40 = "Product Demo Video";
s.eVar41 = "homepage-hero";
s.tl(this, 'o', 'Video Start');

// Video quartile (25%, 50%, 75%)
s.events = "event41";
s.eVar42 = "50"; // Percent watched
s.tl(this, 'o', 'Video Progress - 50%');

// Video complete
s.events = "event42";
s.tl(this, 'o', 'Video Complete');

Form Interactions

// Form start
s.events = "event50";
s.eVar50 = "contact-form";
s.tl(this, 'o', 'Form Start');

// Form submit success
s.events = "event51";
s.eVar50 = "contact-form";
s.tl(this, 'o', 'Form Submit Success');

// Form error
s.events = "event52";
s.eVar51 = "email-invalid"; // Error type
s.tl(this, 'o', 'Form Error');

Merchandising eVars

Conversion Syntax

Bind eVar to the conversion event:

s.events = "prodView";
s.products = "Electronics;SKU-12345";
s.eVar10 = "search-results"; // Finding method - binds at prodView

Product Syntax

Bind eVar at the product level:

// eVar10 binds to specific product
s.events = "prodView";
s.products = "Electronics;SKU-12345;;;;eVar10=search-results";

Multiple Merchandising eVars

s.products = "Electronics;SKU-12345;;;;eVar10=search|eVar11=promo123|eVar12=color-black";

Event Serialization

Prevent duplicate event counting:

// Only count once per unique ID
s.events = "event1:unique_id_12345";

// For purchases
s.purchaseID = "ORD-98765"; // Prevents duplicate purchase events

Context Data

For Processing Rules-based implementation:

s.contextData['event.name'] = 'newsletter_signup';
s.contextData['form.id'] = 'footer-newsletter';
s.contextData['page.section'] = 'blog';

Then configure Processing Rules to map:

Context Data Variable Maps To
event.name = "newsletter_signup" event1
form.id eVar50

Naming Conventions

Event Naming

  • Use descriptive names in Admin: Newsletter Signup not event1
  • Document in Solution Design Reference
  • Group related events (e.g., Video Start, Video Progress, Video Complete)
  • Format: [Category] - [Action] - [Label]
  • Examples:
    • CTA - Click - Add to Cart
    • Navigation - Click - Main Menu
    • Form - Submit - Contact Us

Solution Design Reference

Document all events in your SDR:

Event Name Type Description Triggers
prodView Product View Standard Product detail viewed PDP load
scAdd Add to Cart Standard Item added to cart Add button click
purchase Purchase Standard Order completed Confirmation page
event1 Newsletter Signup Counter Email subscription Form submit
event10 Revenue Currency Order revenue Purchase confirmation

QA and Validation

Adobe Experience Platform Debugger

  1. Install the Debugger extension
  2. Navigate through user flows
  3. Check the Analytics tab for each hit
  4. Verify events, products, and eVars

Validation Checklist

Check Expected Result
Events fire on interaction Single event per action
Product string format Category;SKU;Qty;Price syntax
Purchase ID present Unique per transaction
eVar bindings correct Merchandising eVars with products
Event serialization No duplicates for serialized events
Link tracking type Correct o/d/e designation

Common Issues

Symptom Cause Solution
Events not in reports Event not enabled in Admin Enable in Report Suite settings
Duplicate purchases Missing purchaseID Add unique purchase identifier
Wrong eVar values Incorrect expiration Review SDR allocation settings
Product string errors Malformed syntax Validate semicolon structure
Missing link tracking s.tl not called Ensure tl() fires after variables set

Testing with Segment/Filter

Create a test segment in Analysis Workspace:

  1. Create segment: Tracking Code equals TEST
  2. Apply to report
  3. Trigger test events with ?cid=TEST parameter
  4. Verify events appear in filtered report