All Collections
Developers
FunnelEnvy Snippet Event Reference
FunnelEnvy Snippet Event Reference

List of events and data that the FunnelEnvy snippet sends to the data layer for integration.

Arun Sivashankaran avatar
Written by Arun Sivashankaran
Updated over a week ago

The FunnelEnvy snippet sends audience information, campaign events, data and configured content attributes to the data layer. These can be used in Google Tag Manager as Variables and Triggers and in programatic Javascript code.

Events are documented in the sections below. All events sent by FunnelEnvy are prefixed with  backstage to avoid naming conflicts.

Campaign & Variation Events

Event

Description

backstage.activeCampaign

Fires when a campaign is activated

backstage.activeVariation

Fires when a variation activates

backstage.campaignState

Includes the state of all activate campaigns

Audience Events

backstage.updatedAudiences

Fires when audience classification is complete

Other Events

backstage.updatedContentAttributes

Fires with any content attributes that have been sent to the browser

backstage.completed

Fires after all snippet processing has been completed.

Campaign and Variation Events - Details

  • backstage.activeCampaign This event is sent when a campaign is activated (URL and audience conditions have been met) and includes the following data structure.

{
event: "backstage.activeCampaign",
backstage: {
activeCampaign: {
id: "{{Campaign Id}}",
name: "{{Campaign Name}}",
organization: "{{Organization Id}}",
slug: "{{Campaign Short Id}}",
isInHoldback: {{true || false}}
}
}
}
  • backstage.activeVariation The event that's sent when a variation is activated for a visitor with the following data:

{
event: "backstage.activeVariation",
backstage: {
activeVariation: {
source: "{{Source Id}}",
name: "{{Variation Name}}",
recommended: {{true || false}},
holdback: {{true || false}},
campaignId: "{{Campaign Id}}",
variationId: "{{Variation Id}}"
}
}
}
  • backstage.campaignState - The state of all active campaigns in the organization

{
event: "backstage.campaignState",
backstage: {
campaignState: [
{
campaignId: {{Campaign Id}},
name: "{{Campaign}}",
source: "custom",
status: "running",
isInHoldback: {{true || false}},
recommendation: {
"variationId: {{Variation Id}}
}
},
...

Audience Events - Details

  • backstage.updatedAudiences - An event that fires with any audiences that the visitor has been classified (assigned) to.

{
event: "backstage.updatedAudiences",
backstage: {
audiences: {
{{Audience Slug}}: {
id: {{Audience Id}},
name: {{Audience Name}},
slug: {{Audience Slug}},
provider: {{Audience Type}},
organization: {{Organization Id}},

member: true
},
...

Other Events - Details

  • backstage.updatedContentAttributes  - An array of content attributes that have been authorized to send to the data layer.

  • backstage.completed - Fires after all processing (audience classification, campaign decisioning) has been completed. Synchronous variation rendering is guaranteed to occur before this event fires, however if variations include asynchronous code they may not have completely rendered prior to this event.

Did this answer your question?