Skip to main content

Adobe Analytics tracking code and custom events

Learn how to set up Adobe Experience Platform Data Collection (Tags / Launch) to track specific Doc events in Adobe Analytics

Adding an Adobe Analytics tracking code to your Turtl Doc(s) will send events, e.g. page views, to Adobe Analytics when the user interacts with your Turtl Doc. Once those events are in Adobe Analytics, they can support various processes such as content performance reporting and feeding engagement data into downstream Adobe Experience Cloud tools.

Note:

  • The default Adobe Analytics tracking code is available with all Turtl plans.

  • Custom events setup in Turtl is available with the Scale or Grow plans, with the "Custom behavioural events" module added. Please contact support@turtl.co if you want to upgrade your plan.


Prerequisites:

  • A property in Adobe Experience Platform Data Collection (Tags), formerly known as Adobe Launch. This is Adobe's tag management system and is used for adding, deploying, and updating your Adobe Analytics tag within your Turtl Docs.

  • An Adobe Analytics report suite. You will need the Report Suite ID(s) when configuring the Adobe Analytics extension in Tags.

  • The Adobe Analytics extension installed in your Tags property. The extension acts as the bridge between your Turtl Docs and Adobe Analytics — collecting data and insights about user interactions, behaviour, etc. You'll configure it with your Report Suite ID and tracking server.


How do I get the tracking code?


To obtain your tracking code:

  1. Open your Adobe Tags property.

  2. In the Development row, click the Install icon.

  3. Click the Copy icon to copy the embed code to your clipboard.

  4. Click Close.

Paste the copied code into the next step — it should look something like this:

<script src="https://assets.adobedtm.com/xxxxxxx/launch-xxxxxxx.min.js" async></script>


What's the process of getting the tracking code into Turtl?

Once you have the <head> and <body> scripts, please send them to support@turtl.co, and we will set it up as an extension for you, which can be toggled on/off on your Turtl Docs. You can also choose to apply this extension to all Turtl Docs automatically.


What events does the tracking code collect by default?

By default, the Adobe Analytics extension fires a page view beacon (s.t()) when a Turtl Doc loads, capturing the standard page-level dimensions (URL, page name, referrer, etc.).


Where do events appear in Adobe Analytics?

  1. Sign in to Adobe Analytics.

  2. Open Workspace and create or open a project.

  3. Use the Pages dimension to see page views, or build a freeform table with your custom events, eVars, and props to see custom event activity.

You can also use Real-Time reports for quick validation of incoming hits.

Note: It may take up to a few hours for processed data to appear in Workspace, although Real-Time reports update within minutes.


How can we customise the tracking code to send custom performance events to Adobe Analytics?

If you are on Turtl's Unlimited or Professional plan and have purchased the "Custom Behavioural Events" module, our engineering team can customise the previously mentioned <head> and <body> scripts to send through additional events that aren't captured within the standard script.

For these custom events to be seen, they need to be captured by rules in your Tags property (typically via a Direct Call Rule or a Custom Event listener) and mapped to Adobe Analytics variables (custom events, eVars, or props). These rules are configured by the customer.


Custom events table with variables

Below is the suggested list of events and variables Turtl can send to Adobe Analytics. Variables in bold belong to all events; other variables are specific to only some events.

When mapping into Adobe Analytics, we recommend assigning the standard variables to eVars (for persistent reporting) and event-specific variables to eVars or props as appropriate. Each event itself should be mapped to a custom success event (e.g. event1, event2, etc.) in your report suite.

Event name

What it captures

Variables

Notes

Chapter page turn

Reader moves between Chapter pages — the horizontal navigation across top-level sections of a Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Chapter page turn

Page turn

Reader moves between Content pages within a chapter — the vertical reading flow inside a section

doc_name (string), doc_url (string), workspace (string), page_title (string)

Content page turn

Read Doc 30 sec

Reader has spent 30 seconds engaging with the Doc — first signal of meaningful attention

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 1 minute

Reader has spent 1 minute engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 2 mins

Reader has spent 2 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 3 mins

Reader has spent 3 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 4 mins

Reader has spent 4 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 5 mins

Reader has spent 5 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Common threshold for "high intent" segments

Read Doc 8 mins

Reader has spent 8 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Read Doc 10 mins

Reader has spent 10 minutes engaging with the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Strong indicator of deep engagement / MQL signal

Enter chapter

Reader enters a Content page within a chapter

doc_name (string), doc_url (string), workspace (string), page_title (string)

Enter Content page(s)

Leave chapter

Reader leaves a Content page within a chapter

doc_name (string), doc_url (string), workspace (string), page_title (string)

Leave Content page(s)

Logo click

Reader clicks the brand logo in the Doc toolbar — typically redirects to a customer's home page

doc_name (string), doc_url (string), workspace (string), page_title (string)

Contents menu click

Reader opens the Doc's contents menu to navigate between sections

doc_name (string), doc_url (string), workspace (string), page_title (string)

Download the PDF version

Reader downloads the PDF version of the Doc from the Contents menu

doc_name (string), doc_url (string), workspace (string), page_title (string)

PDF download button in the Contents menu

Open fullscreen

Reader expands the Doc into fullscreen view

doc_name (string), doc_url (string), workspace (string), page_title (string)

Link click

Reader clicks any internal or external link inside the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), destination (string)

destination captures the target URL; label captures the link text

Lead capture form submission

Reader submits a lead capture form embedded within the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

High-intent conversion event

Personalisation form submission

Reader submits a personalisation form, triggering a personalised version of the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string)

Poll submission

Reader submits a response to a poll embedded in the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string), question (string), response (string)

Use question and response to analyse poll outcomes

Share button click - email

Reader clicks the email share button

doc_name (string), doc_url (string), workspace (string), page_title (string), share_button_location (string)

share_button_location specifies where the share button was clicked: Toolbar / Content page widget / Back cover

Share button click - X

Reader clicks the X (Twitter) share button

doc_name (string), doc_url (string), workspace (string), page_title (string), share_button_location (string)

As above

Share button click - Facebook

Reader clicks the Facebook share button

doc_name (string), doc_url (string), workspace (string), page_title (string), share_button_location (string)

As above

Share button click - LinkedIn

Reader clicks the LinkedIn share button

doc_name (string), doc_url (string), workspace (string), page_title (string), share_button_location (string)

As above

Share button click - Xing

Reader clicks the Xing share button

doc_name (string), doc_url (string), workspace (string), page_title (string), share_button_location (string)

As above

View chart

Reader opens an embedded chart in zoom (lightbox) mode

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

label and source identify which chart was viewed

View image

Reader opens an embedded image in zoom (lightbox) mode

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

View map

Reader opens an embedded map in zoom (lightbox) mode

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

View PDF

Reader opens an embedded PDF in zoom (lightbox) mode

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

Watch video

Reader plays an embedded video inside the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

Strong engagement signal — useful for video performance reporting

Listen to audio

Reader plays an embedded audio file inside the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

View Matterport tour

Reader opens a Matterport 3D virtual tour embedded in the Doc

doc_name (string), doc_url (string), workspace (string), page_title (string), label (string), source (string)

Tip: Contact support@turtl.co to share your ideas if you want to track something else.


1. Create a Direct Call Rule (or Custom Event listener) in Tags

When Turtl's custom tracking code fires an event, it pushes data to the page using a standard JavaScript pattern that Adobe Launch can listen for. The most common approach is a Direct Call Rule, triggered by _satellite.track('event_name', {detailObject}).

  1. In your Tags property, navigate to Rules in the left sidebar and click Add Rule.

  2. Name the Rule, e.g. "Watch video". We recommend using the same name for the rule and the Turtl event you want to track.

  3. Under Events, click Add.

    1. Extension: Core.

    2. Event Type: choose Direct Call (if Turtl's script uses _satellite.track) or Custom Event (if Turtl's script dispatches a native CustomEvent). Confirm with support@turtl.co which pattern your script uses.

    3. Identifier: copy the relevant event name (e.g. "Watch video") from the table above.

    4. Click Keep Changes.


2. Create Data Elements

Data Elements in Tags are the equivalent of GTM's Data Layer Variables — they let you capture and reuse data sent with each event.

  1. In your Tags property, navigate to Data Elements in the left sidebar and click Add Data Element.

  2. Name the Data Element, e.g. "Page title".

  3. Configure it:

  1. Extension: Core.

  2. Data Element Type: choose JavaScript Variable or Custom Code, depending on how Turtl pushes the data:

    • If the variable is available on the event detail object: use Custom Code and return event.detail.page_title (or the relevant key).

    • If it's available as a global JavaScript variable or on a data layer: use JavaScript Variable and enter the path.

  3. Variable name: copy the variable name from the table above.

Please create Data Elements for the variables you find useful for the events you want to fire.

  1. Click Save.

Tip: Data Elements you create here can then be referenced anywhere in Tags using the %data_element_name% syntax.


3. Add Adobe Analytics Actions to each Rule

For each custom event, you'll now configure what the Rule does when it fires — typically, sending a tracking beacon to Adobe Analytics with the relevant variables.

Notes:

  • You can also reference built-in Tags variables (such as Page URL) where applicable.

  • The Adobe Analytics extension provides two main action types: Set Variables (assigns values to eVars, props, and events) and Send Beacon (fires the actual tracking call).

  1. Open the Rule you created in Step 1.

  2. Under Actions, click Add.

  3. Configure the Set Variables action:

    1. Extension: Adobe Analytics.

    2. Action Type: Set Variables.

    3. Custom Events: select the event slot you want to use (e.g. event5) and map it to this Turtl event.

    4. eVars / Props: assign the relevant Data Elements (e.g. eVar10 → %doc_name%, eVar11 → %doc_url%, eVar12 → %workspace%, eVar13 → %page_title%). Repeat for event-specific variables such as label, destination, share_button_location, question, response, or source.

    5. Click Keep Changes.

  4. Add a second Action: Send Beacon.

  1. Extension: Adobe Analytics.

  2. Action Type: Send Beacon.

  3. Tracking: select s.tl() for link/interaction events (most Turtl custom events) or s.t() for page view events. As a rule of thumb, only use s.t() for events that genuinely represent a new page view (e.g. Chapter page turn); everything else should be s.tl() to avoid inflating page view counts.

  4. Link Type (if using s.tl()): typically "Other" (o) or "Custom Link" depending on your reporting preferences.

  5. Link Name: a friendly identifier for the event (e.g. "Turtl - Watch video").

  6. Click Keep Changes.

  7. Save the Rule.

Tip: Decide upfront whether you want a single, generic Rule that captures all Turtl events using a dynamic Data Element for the event name, or one Rule per event. One-rule-per-event is easier to debug and maintain when you only need a handful of events; a single dynamic rule is more scalable if you're tracking the full event catalogue.


4. Test the custom event

When you receive confirmation that the custom tracking code has been added to your Doc(s), use Tags' Debug mode (the Adobe Experience Platform Debugger Chrome extension) to validate your setup. With Debug mode on, open your Turtl Doc and:

  • Confirm each Rule fires when the corresponding event happens in the Doc.

  • Confirm the correct eVars, props, and custom events are populated on the outgoing beacon.

  • Use the Network tab in your browser dev tools to inspect the b/ss Analytics request and check the variable values directly.

You can also validate in Adobe Analytics Real-Time reports for near-immediate confirmation that events are landing in your report suite.


5. Publish your changes

  1. In Tags, add your new Rules and Data Elements to a Library.

  2. Build the Library to your Development environment first, then promote to Staging, then to Production once tested.

  3. It may take a few minutes for the changes to take effect once published to Production.


Where do the custom events appear in Adobe Analytics?

Note: It may take up to a few hours before processed data is fully available in Workspace, although Real-Time reports update within minutes.

Custom events appear alongside default page view events.

  1. Sign in to Adobe Analytics.

  2. Open Workspace and create a project.

  3. Build a freeform table using:

    • The custom event dimension (e.g. event5 - "Watch video") as a metric.

    • The relevant eVars (e.g. eVar10 - "Doc name", eVar11 - "Doc URL") as dimensions.

  4. You can also break down events by any of the other captured variables to see, for example, which Docs drive the most video views, or which share button locations are most clicked.


Related Articles

Did this answer your question?