Articles on: Developers

How to push conversions to Google Ads with Google Tag Manager

Learn how to send a Crisp chat interaction to Google Ads as a conversion through Google Tag Manager.


This guide shows one common setup: listening for a Crisp chatbox event, pushing a custom event to the GTM data layer, then using that event to trigger a Google Ads conversion tag.



Before you start


You need access to Google Tag Manager and Google Ads before configuring this conversion flow.


You will need:

  • A Google Tag Manager container installed on your website
  • A Google Ads account with a conversion action ready to use
  • The Conversion ID and Conversion Label from Google Ads
  • The Crisp chatbox installed on the same pages as your GTM container


Google Ads conversion tracking may set advertising cookies or use consent-dependent signals. Review your consent banner, privacy notice, and regional requirements before publishing this setup.



Choose the Crisp event to track


You can track different Crisp chatbox events depending on what you consider a conversion. In this article, the main example is message:sent, which fires when a visitor sends a message through the chatbox.


Track a sent visitor message


<script type="text/javascript">
window.$crisp = window.$crisp || [];
window.dataLayer = window.dataLayer || [];

$crisp.push(["on", "message:sent", function(message) {
dataLayer.push({
event: "CrispInteractions",
eventCategory: "chatbox",
eventAction: "message_sent"
});
}]);
</script>


Track when a visitor email is set


<script type="text/javascript">
window.$crisp = window.$crisp || [];
window.dataLayer = window.dataLayer || [];

$crisp.push(["on", "user:email:changed", function(email) {
dataLayer.push({
event: "CrispInteractions",
eventCategory: "chatbox",
eventAction: "email_set"
});
}]);
</script>


You can find the full list of supported $crisp events in the $crisp method reference.



Create the Crisp event listener in GTM


Create a Custom HTML tag in Google Tag Manager and paste the listener code for the Crisp event you want to track.


Custom HTML tag for the Crisp event listener


This tag registers a $crisp.push(["on", ...]) listener and pushes a CrispInteractions event to the data layer when the selected Crisp event happens.


Trigger the listener


Trigger the Custom HTML listener on gtm.dom or a similar page-ready trigger so it is registered across the website.


Google Tag Manager trigger for loading the listener


Avoid using gtm.click as the main listener trigger unless you specifically need to register the listener after a click. For most Crisp event listeners, gtm.dom is more reliable because the listener is ready before the visitor interacts with the chatbox.



Create the CrispInteractions trigger


Create a Custom Event trigger in GTM with the event name CrispInteractions.


CrispInteractions custom event trigger


This trigger fires when the listener pushes this event to the data layer:


dataLayer.push({
event: "CrispInteractions",
eventCategory: "chatbox",
eventAction: "message_sent"
});



Create the Google Ads conversion tag


Create a Google Ads Conversion Tracking tag in GTM, then connect it to the CrispInteractions trigger.


Google Ads conversion tag in GTM


If your container does not already include a Conversion Linker tag, create one as part of the setup.


Google Ads Conversion Linker tag


In the Google Ads conversion tag, fill in the values provided by Google Ads.


Google Ads conversion tag fields


The required values usually include:

  • Conversion ID → the identifier of your Google Ads conversion tag
  • Conversion Label → the label attached to the specific conversion action
  • Conversion Value → optional, depending on how you measure conversion value


You can find these values from your Google Ads conversion action settings.


Google Ads tools and settings menu


Open the conversion action, choose Use Google Tag Manager, then copy the values into GTM.


Google Ads tag configuration values


Finally, attach the CrispInteractions trigger to the Google Ads conversion tag, save the tag, test the workspace, and publish your GTM changes.


CrispInteractions trigger attached to the Google Ads tag



Test before publishing


Use GTM preview mode and send a test message through your Crisp chatbox. Confirm that the listener loads, the CrispInteractions event appears in the data layer, and the Google Ads conversion tag fires only when expected.


Publish the GTM workspace only after the preview test confirms that the conversion fires once per intended visitor action.


Updated on: 03/05/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!