Javascript API
Javascript API
You can open and close campaigns using its "Widget ID", which you find by looking at the address bar in your browser when editing the campaign:
https://app.triggerbee.com/campaigns/12345/widgets/67890/editor
The number 67890 in above example would be the "Widget ID". The number 12345 would be the "Campaign ID"
Open a widget without targeting
This snippet allows you to open a certain widget by its ID. It does not take into account audience, scheduling etc.
triggerbee.widgets.api.open(widgetId)
Open a widget with targeting
This snippet allows you to open a certain widget by its ID. It does also check the campaigns targeting such as audience, conditions and scheduling. If no variant matches, no campaign is shown.
triggerbee.widgets.api.trigger(campaignId)
Close a widget
This snippet allows you to close a certain widget by its ID.
triggerbee.widgets.api.close(widgetId)
Initiate the widgets
This snippet allows you to initiate the widget script.
triggerbee.widgets.api.init()
Note: This is done by default on page load. The snippet is only required for SPA sites.
Log a click
This snippet allows you to log a click of the widget to Triggerbee. This is useful for campaigns that doesn't track click automatically, eg. if you have a button to execute a script instead of URL-redirect.
mtr.widget('clickthrough', 16553);
Javascript Events
This is a list of the current Javascript Events for Onsite Campaign widgets and general tracking. These are useful for creating your own functions and action based on events in widgets and other events.
Campaign Events
For each campaign event, there are different output data that you can use in your code. These 3 are available for all events. See what other output data is available under each event.
- id: ID of the widget triggering the event
- campaignName: Name of the campaign of the widget triggering the event
- campaignId: ID of the campaign of the widget triggering the event
onTriggerbeeWidgetOpened
The event is fired when an Onsite Campaign widget is opened.
document.addEventListener("onTriggerbeeWidgetOpened", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234 } */ });
onTriggerbeeWidgetClosed
The event is fired when an Onsite Campaign widget is closed.
document.addEventListener("onTriggerbeeWidgetClosed", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234 } */ });
onBeforeTriggerbeeFormSubmitted
The event is fired before a form in an Onsite Campaign widget is submitted.
document.addEventListener("onBeforeTriggerbeeFormSubmitted", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234 } */ });
onAfterTriggerbeeFormSubmitted
The event is fired after a form in an Onsite Campaign widget is submitted.
document.addEventListener("onAfterTriggerbeeFormSubmitted", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234 } */ });
onTriggerbeeWidgetButtonClicked
The event is fired when a button in an Onsite Campaign widget is clicked.
document.addEventListener("onTriggerbeeWidgetButtonClicked", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234, url: "http://example.com?utm_custom=Newsletter+sign+up" } */ });
onTriggerbeeWidgetStateSwitched
The event is fired when there's a change of slide in an Onsite Campaign widget.
document.addEventListener("onTriggerbeeWidgetStateSwitched", function (event) { console.log(event.detail); // Example output: /* { id: 1103, campaignName: "Newsletter sign up", campaignId: 1059, variantName: 1234, stateId: 1213 } */ });
Tracking Events
beforeTriggerbeeReady
Do something before Triggerbee is initialized. (mtr does not exist yet)
document.addEventListener("beforeTriggerbeeReady", function () { // your code });
afterTriggerbeeReady
mtr exists (most common event, always use this for ex logging)
document.addEventListener("afterTriggerbeeReady", function () { // your code });
onTriggerbeeSpaPageChanged
Do something when Triggerbee detects a SPA page view change (useful for scripting via Triggerbee client script).
document.addEventListener("onTriggerbeeSpaPageChanged", function (e) { // your code, for example: console.log(e); });
triggerbeeTagAdded
The event is fired when a tag has been added to the session.
document.addEventListener("triggerbeeTagAdded", function (event) { console.log('tag: ' + event.detail.name); });
triggerbeeGoalAdded
The event is fired when a goal has been set on the session.
document.addEventListener("triggerbeeGoalAdded", function (event) { console.log('goal: ' + event.detail.name); });
triggerbeePersonConsented
The event is fired when a visitor has given consent
document.addEventListener("triggerbeePersonConsented", function (event) { console.log('goal: ' + event.detail.name); });
triggerbeePersonIdentified
The event is fired when a visitor has been identified
document.addEventListener("triggerbeePersonIdentified", function (event) { console.log('goal: ' + event.detail.name); });