Gist (formerly ConvertFox) GTM Event Listener
Track 19 Gist chat and marketing automation interactions in GTM. Monitor conversations, meetings, article views, searches, chatbot buttons, GDPR consent, and in-app messages.
Event fired
gist_actionKey variable
gistActionGist (formerly ConvertFox)
Overview
Gist is a comprehensive business messaging and marketing platform combining live chat, chatbots, email, help center, and meeting booking. This is one of the most feature-rich listeners with 19 tracked events including meeting scheduling, GDPR interactions, in-app message tracking, and knowledge base article views.
Event fired: gist_action
Variable: gistAction (plus 13+ additional context variables)
Why Use This Listener
Gist covers the entire marketing and support lifecycle in one platform. This listener exposes 19 events across chat, meetings, knowledge base, email capture, GDPR, and in-app campaigns, giving you unprecedented visibility into visitor engagement.
Tracked Events (19 Total)
| gistAction | Category | Description |
|---|---|---|
Article Viewed | Knowledge Base | Article opened |
Article Feedback Submitted | Knowledge Base | Article rated |
Article Searched | Knowledge Base | User searched help center |
Chatbot Message Button Clicked | Chatbot | Chatbot CTA clicked |
Welcome Message of The Chatbot Shown | Chatbot | Bot welcome shown |
Opened Gist Widget | Widget | Chat opens |
Closed Gist Widget | Widget | Chat closes |
Conversation Started | Conversation | New chat begins |
Conversation Opened | Conversation | Chat reopened |
Chat Rating Submitted | Conversation | User rates chat |
User Sends Message | Message | Visitor message |
User Receives Message | Message | Agent replies |
Email Address Captured | Lead | Email submitted |
GDPR Consent Submitted | Compliance | Consent given |
Gist Meeting Booking Requested | Meeting | Meeting flow starts |
Gist Meeting Scheduled | Meeting | Meeting confirmed |
In-app Chat Message Shown | In-App | Campaign displayed |
In-app Chat Message Clicked | In-App | Campaign clicked |
In-app Chat Message Dismissed | In-App | Campaign dismissed |
Installation
<!-- GTM Custom HTML Tag: Gist Listener -->
<script>
(function() {
var gistEventMap = [
['article:viewed', 'Article Viewed', ['gistArticleID','gistArticleTitle','gistArticleURL','gistVisitorID']],
['article:feedback', 'Article Feedback Submitted', ['gistArticleID','gistArticleTitle','gistArticleRating','gistVisitorID']],
['article:search', 'Article Searched', ['gistSearchTerm','gistVisitorID']],
['chatbot:buttonClicked', 'Chatbot Message Button Clicked', ['gistBotButtonText','gistConversationID','gistVisitorID']],
['chatbot:welcomeShown', 'Welcome Message of The Chatbot Shown', ['gistVisitorID']],
['messenger:opened', 'Opened Gist Widget', ['gistVisitorID']],
['messenger:closed', 'Closed Gist Widget', ['gistVisitorID']],
['conversation:started', 'Conversation Started', ['gistConversationID','gistVisitorID']],
['conversation:opened', 'Conversation Opened', ['gistConversationID','gistVisitorID']],
['conversation:feedback', 'Chat Rating Submitted', ['gistConversationID','gistVisitorID']],
['message:sent', 'User Sends Message', ['gistMessage','gistConversationID','gistVisitorID']],
['message:received', 'User Receives Message', ['gistMessage','gistConversationID','gistAgentID','gistVisitorID']],
['email:captured', 'Email Address Captured', ['gistUserEmail','gistVisitorID']],
['gdpr:clicked', 'GDPR Consent Submitted', ['gistGDPRStatus','gistVisitorID']],
['meeting:requested', 'Gist Meeting Booking Requested', ['gistMeeting','gistVisitorID']],
['meeting:booked', 'Gist Meeting Scheduled', ['gistMeeting','gistVisitorID']],
['triggeredMessage:fired', 'In-app Chat Message Shown', ['gistVisitorID']],
['triggeredMessage:clicked', 'In-app Chat Message Clicked', ['gistVisitorID']],
['triggeredMessage:dismissed','In-app Chat Message Dismissed',['gistVisitorID']]
];
gistEventMap.forEach(function(def) {
document.addEventListener(def[0], function(e) {
var d = e && e.detail;
var push = { 'event': 'gist_action', 'gistAction': def[1] };
if (d) {
def[2].forEach(function(key) { push[key] = d[key] || null; });
}
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(push);
});
});
})();
</script>Data Layer Output
Meeting Booked
{
"event": "gist_action",
"gistAction": "Gist Meeting Scheduled",
"gistMeeting": { "type": "demo", "duration": 30, "time": "2024-02-15T14:00:00Z" },
"gistVisitorID": "visitor_abc123"
}Email Captured
{
"event": "gist_action",
"gistAction": "Email Address Captured",
"gistUserEmail": "lead@company.com",
"gistVisitorID": "visitor_abc123"
}Trigger Priority Matrix
| Priority | gistAction | Tags to Fire |
|---|---|---|
| 🔴 High | Gist Meeting Scheduled | GA4 conversion, Google Ads |
| 🔴 High | Email Address Captured | GA4 generate_lead, Meta Lead |
| 🟠 Medium | Conversation Started | GA4 engagement |
| 🟡 Low | Article Viewed | GA4 content engagement |
| 🟡 Low | GDPR Consent Submitted | Compliance logging |
Variables to Capture
| Variable Name | DL Key | Example |
|---|---|---|
| DLV – Gist Action | gistAction | "Gist Meeting Scheduled" |
| DLV – Gist Article ID | gistArticleID | "article_123" |
| DLV – Gist Email | gistUserEmail | "user@company.com" |
| DLV – Gist Conversation ID | gistConversationID | "conv_456" |
| DLV – Gist Meeting | gistMeeting | Object |
| DLV – Gist GDPR Status | gistGDPRStatus | "accepted" |
GA4 Mapping
| GA4 Event | Condition | Parameters |
|---|---|---|
book_appointment | Gist Meeting Scheduled | meeting_type, duration |
generate_lead | Email Address Captured | email, method: "gist" |
search | Article Searched | search_term |
view_item | Article Viewed | article_id, article_name |