> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.chrisp.chat/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 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](https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/dollar-crisp/).

---

# 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](https://storage.crisp.chat/users/helpdesk/website/-/e/c/4/b/ec4b1e4d389d5000/6a862214-02d0-44fe-95bd-8b9edb_1l8ma8x.png)

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](https://storage.crisp.chat/users/helpdesk/website/-/1/a/3/d/1a3d5fd16504830/461eda5d-7936-47e8-9120-2d7739_1qukstf.png)

|| 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](https://storage.crisp.chat/users/helpdesk/website/-/c/b/2/0/cb207703e6648800/19e852e8-3c83-482b-8f42-e9bdc7_jkzhj0.png)

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](https://storage.crisp.chat/users/helpdesk/website/-/2/5/8/9/25891cb6b6c79600/da731d6f-b4e3-46eb-a8eb-6f0e09_t0x7ld.png)

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

![Google Ads Conversion Linker tag](https://storage.crisp.chat/users/helpdesk/website/-/5/3/c/5/53c55ba0a4b9f400/9026477b-023d-4c1a-aeeb-9011b3_1pn2kq3.png)

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

![Google Ads conversion tag fields](https://storage.crisp.chat/users/helpdesk/website/-/9/8/d/d/98ddd66f63486000/cc1199b0-aa38-4636-b6fe-1134b5_27bpyu.png)

__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](https://storage.crisp.chat/users/helpdesk/website/-/9/c/c/f/9ccf18044921b800/9b217dfe-fc06-4485-9ee5-84f63b_lx5yd5.png)

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

![Google Ads tag configuration values](https://storage.crisp.chat/users/helpdesk/website/87ae2703583ac800/cleanshot-2025-02-24-at-120317_1qhrkra.png)

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](https://storage.crisp.chat/users/helpdesk/website/87ae2703583ac800/cleanshot-2025-02-24-at-120332_1e7xsnv.png)

---

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