OptinMonster GTM Event Listener
Track OptinMonster popup and campaign interactions in GTM. Monitor impressions, conversions, and campaign closes. Capture campaignID and campaignName variables.
optinmonsterpopuplead-generationgtmga4exit-intentemail-capture
Key variable
campaignIDOptinMonster
Overview
OptinMonster is a popular lead generation platform with popup campaigns, floating bars, fullscreen overlays, and inline forms. It exposes a comprehensive JavaScript event API with campaign-level and action-level events.
Events fired:
optinmonsterimpression, campaign displayedoptinmonsterconversion, form submitted / CTA clickedoptinmonsterdismissed, campaign closed
Variables: campaignID, campaignName, campaignType, campaignAction
Common Use Cases
- Measure popup impression-to-conversion rate per campaign
- Fire GA4
generate_leadon OptinMonster form submission - Build Google Ads audiences from popup viewers
- A/B test popup designs using campaign ID data in GA4
- Track exit-intent campaign performance separately from timed popups
Installation
html
<!-- GTM Custom HTML Tag: OptinMonster Listener -->
<script>
(function() {
var omPushMap = {
'optinmonster.show': 'optinmonsterimpression',
'optinmonster.convert': 'optinmonsterconversion',
'optinmonster.dismiss': 'optinmonsterdismissed'
};
document.addEventListener('optinmonster.show', function(e) {
var d = e.detail || {};
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'optinmonsterimpression',
'campaignID': d.id,
'campaignName': d.campaign_name,
'campaignType': d.type
});
});
document.addEventListener('optinmonster.convert', function(e) {
var d = e.detail || {};
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'optinmonsterconversion',
'campaignID': d.id,
'campaignName': d.campaign_name,
'campaignType': d.type,
'campaignAction': d.action
});
});
document.addEventListener('optinmonster.dismiss', function(e) {
var d = e.detail || {};
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'optinmonsterdismissed',
'campaignID': d.id,
'campaignName': d.campaign_name
});
});
})();
</script>Data Layer Output
Impression
json
{
"event": "optinmonsterimpression",
"campaignID": "om_12345",
"campaignName": "Exit Intent Offer",
"campaignType": "lightbox"
}Conversion
json
{
"event": "optinmonsterconversion",
"campaignID": "om_12345",
"campaignName": "Exit Intent Offer",
"campaignAction": "submit"
}Triggers to Create
| Trigger Name | Event Name |
|---|---|
| CE – OM Impression | optinmonsterimpression |
| CE – OM Conversion | optinmonsterconversion |
| CE – OM Dismissed | optinmonsterdismissed |
Variables to Capture
| Variable Name | DL Key | Example |
|---|---|---|
| DLV – OM Campaign ID | campaignID | "om_12345" |
| DLV – OM Campaign Name | campaignName | "Exit Intent Offer" |
| DLV – OM Campaign Type | campaignType | "lightbox" |
GA4 Mapping
| GA4 Event | Trigger | Parameters |
|---|---|---|
view_promotion | Impression | campaign_id, campaign_name, campaign_type |
generate_lead | Conversion | campaign_id, method: "optinmonster" |