In addition to the Google Tag Manager audience integration which sends audience classification events to the data layer, FunnelEnvy PRO sends additional campaign events, data and configured content attributes to the data layer as well.

These can be used within Google Tag Manager variables to integrate to other analytics and front end applications and are documented below.

All events sent by FunnelEnvy are prefixed with  backstage to avoid naming conflicts.

Within Google Tag Manager you can then create Data Layer Variables and Triggers based on the events and data sent by FunnelEnvy to integrate into Tags.

Google Tag Manager Variable Configuration

Google Tag Manager Trigger Configuration

More information on the Data Layer can be found on the Google Tag Manager Developer Guide.

Campaign and Variation Events & Data

  • 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}}
  • backstage.updatedContentAttributes  - An array of content attributes that have been authorized to send to the data layer.

Adding Event Listeners with Javascript

In addition to using the events above in Google Tag Manager, FunnelEnvy includes a data layer helper and exposes a function to allow developers to handle messages programatically.

To add a listener use the following structure after the window.funnelEnvy  object has been instantiated:

window.funnelEnvy.addListener(eventName, function(model, message) {
  /* your code to handle messages and access the data layer model*/

More information about listeners can be found in the data layer helper repository README on github:

Did this answer your question?