Skip to Content
StreamsAdobe Launch Extension

Adobe Launch Extension

The Adobe Launch (Adobe Experience Platform Tags) extension deploys the Zeotap Browser SDK through Adobe’s tag manager instead of a hand-placed <script> snippet. Marketers install the extension once, configure it with a write key, and wire rules that call the SDK — no page-side JavaScript required.

It’s one of three ways to run the browser SDK: the snippet (embed directly in your page), Adobe Launch (this page), or the Google Tag Manager template. All three send the same Segment-compatible events to the same ingest API.

Adobe Launch drives the extension's actions, which build the SDK stub, load the bundle, and send events to the ingest API

Install

The extension is distributed as a private extension scoped to your organization — it appears in your property’s extension catalog, not the public Adobe Exchange (a public Exchange listing is planned).

  1. In Adobe Data Collection (Tags), open your property → Extensions → Catalog.
  2. Toggle the catalog to show development extensions if needed, find Zeotap Agentic CDP, and click Install.
  3. Fill in the configuration (below), then wire your rules and publish a library.

Configure

The install-time configuration is deliberately minimal — just the settings that belong to you. Infrastructure endpoints are not exposed; the extension targets production automatically.

FieldTypeDefaultDescription
writeKeystring (required)—Your workspace source write key, from Streams → Event Sources. Supports %dataElement% tokens.
consentMechanismdefault | tcf | customdefaultHow consent gates event collection (see Consent).
piiHashingModehashOnClient | preHashedhashOnClientWhether the SDK hashes PII identities in the browser, or you pass already-hashed values.
debugbooleanfalseEnable verbose SDK console logging.
autoPagebooleantrueRecord a page view automatically when the SDK loads.
flushAtinteger10Flush the event queue after this many events accumulate.
flushIntervalinteger5000Flush the event queue at this interval, in milliseconds.
sessionTrackingbooleantrueGroup activity into sessions (visits) and carry the session id plus its rollup on every event. Zeotap emits a session_end event when a visit goes quiet — see Sessions.
sessionTimeoutMinutesinteger30Inactivity before the next event starts a new session. Clamped to between 5 seconds and 30 minutes. Shown only when sessionTracking is enabled.
firstPartyCookiesbooleanfalsePersist the visitor’s anonymous ID as a server-set, HttpOnly first-party cookie — survives Safari ITP’s 7-day cap on script-written storage. Requires firstPartyEndpoint.
firstPartyEndpointstring—Where your first-party proxy is mounted: a path on your site (e.g. /cdp) or an https:// URL on a subdomain you operate. Shown and required only when firstPartyCookies is enabled.

Enabling First-party persistent cookie routes SDK traffic through a proxy on your own domain and lets the events endpoint stamp the visitor ID as a durable first-party cookie. Set up the proxy first — see First-Party Domain Setup — then enter its mount point as the first-party endpoint. The extension derives the right request mode automatically: a path (/cdp) sends same-origin requests; a subdomain URL sends credentialed cross-origin requests.

Rules and actions

You drive the SDK by binding the extension’s actions to Adobe Launch rules. The extension exposes these actions:

ActionPurposeInputs
Load SDKLoads the SDK and initializes it with your configuration. Run this first.—
Track EventRecords a named event.Event name, properties
Page ViewRecords a page view.Category, name, properties
IdentifyAssociates a user ID and traits.User ID, traits
Set User IdentitiesSets PII identities (email, phone, etc.), hashed per piiHashingMode.Identity key/value pairs
Set ConsentSets the user’s consent state.Consent value (parsed categories, TCF string, or US Privacy string)
ResetClears identity and queued state (call on logout).—
Set ConfigurationAdvanced: apply a JSON override of SDK load options before Load SDK runs, so new options need no extension update.JSON

Every action works before and after the bundle finishes loading — calls made early are queued and replayed once the SDK is ready, exactly like the snippet.

Worked example

A typical property has one bootstrap rule plus one rule per interaction:

  • Rule: Load on page top — Event: Core → Library Loaded (Page Top) → Action: Load SDK.
  • Rule: Track add-to-cart — Event: Core → Click (or a Direct Call) → Action: Track Event with name Product Added and properties mapped from data elements (%product.id%, %product.price%).
  • Rule: Identify on login — Event: your login trigger → Actions: Identify (user ID + traits) and Set User Identities (email/phone).

Publish the rules into a Launch library and assign it to an environment to activate them on your site.

The consentMechanism setting maps to the SDK’s consent behavior:

  • default — no gating. Events flow immediately; call Set Consent whenever you want to attach consent state to events.
  • tcf — opt-in gating with automatic IAB TCF v2 CMP detection. The SDK reads __tcfapi, waits for the CMP, and only sends events once the required purposes are granted.
  • custom — opt-in gating where you resolve consent yourself: events are held until a Set Consent action fires with the resolved state.

See Consent Management for how consent categories gate downstream forwarding and land in the warehouse.

Validate

After publishing a development library and loading your page:

  1. Use the Adobe Experience Platform Debugger browser extension to confirm the Launch library loaded, your rules fired, and the extension’s actions ran.
  2. Open the Network tab and confirm each action results in a POST /v1/batch returning 200.
  3. Watch events arrive in real time on the platform’s Live Event Stream (Streams → Overview → Live Stream), and verify counts under the events overview. See Debugging.

For internal and staging testing, Zeotap-owned properties can point the extension at a non-production ingest by defining the data elements zeotapApiHost and zeotapSdkUrl. These are read by the extension but are never exposed as customer configuration — customer properties always use production.

Next Steps

Last updated on