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
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>
$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.

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.

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

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.

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

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

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.

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

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

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.
Updated on: 03/05/2026
Thank you!