Ability to add conversion tracking such as Adwords to chat


I use the messaging (chat) box on my landing page for Google Adwords. I'd love the ability to drop in some tracking code into the messenger to count these chats as "conversions" within Adwords.

19 Replies

Hi Kurt, did you find an answer for this?


The best way for HS to do this is to simply create an event in Google Analytics like they do with their marketing lead gen tools (that way you can see ALL channels, including AdWords that result in chats.) For some reason, despite the community almost begging for this, Hubspot haven't realised this is an elementary feature that we all need - all live chat providers have it.

If they create an event when a chat it started, you can then add this as a goal and simply import into AdWords.

In the kindest way possible, to not create events in Google Analytics from the minute this was launched was an oversight, especially when they have the same functionality in their lead gen products - many service-based businesses consider live chat as lead gen so it's surprising this hasn't been done.

It's the sole reason why we, and our clients, don't use this product: It's pointless if, when used for lead gen, conversions can't be tracked in Google Analytics.


All I really need is the ability to send an event like 'Conversationstarted' to GA so I can set this up as a conversion. My PPC agency then track this alongside everything else for clear cost per lead analysis.


Drift does this which I moved away from for a more integrated solution. Slightly regretting this now!


If hubspot is going to continue to be our platform of choice, they really need to think of customers who don't use all the integrated tools like ads for very good reasons!


Hey all, I also need to track when a conversation started on Google Analytics to be able to attribute conversions to my PPC campaigns. Thinking to switch to another platform. When can we expect Hubspot to take care of this severe issue?


Absolutely. We need an ability to set passing different events when visitor answered something in a chat and as a separate event - left an email (or even booked a meeting). Need different points to be passed to Analytics and also to Adwords as a event-goal conversion.


I think this is a given in all other chat services I have seen, a bit shocked to see this is an issue with Hubspot. 


Please enable this capability ! 

Status updated to: In Planning
HubSpot Product Team

You can try and wrap this in a script tag in the header. Seen the solution from a block post called relevance. Can't remember the exact url but i copied the code and it works for me


function tryParseJSON (jsonString){
try {
var o = JSON.parse(jsonString);

if (o && typeof o === "object") {
return o;
catch (e) {
return false;
return false;

window.addEventListener("message", event => {
//Uncomment to view all events in the console

//Lead flow form submission
if(event.data.accepted && event.data.conversionId) {
ga("send", "event", "contact form", "send", "hubspot leadflow form");

// Check if the event was sent by Hubspot
if (event.origin == "https://app.hubspot.com") {
//Chat window
if(obj = tryParseJSON(event.data)) {
//Close chat welcome message
if (obj.type === "closed-welcome-message") {
ga("send", "event", "chat", "close", "hubspot chat welcome message closed");

//Open close the chat window
if (obj.type === "open-change") {
if (obj.data == true) {
ga("send", "event", "chat", "toggle", "hubspot chat open");

if (obj.data == false) {
ga("send", "event", "chat", "toggle", "hubspot chat close");



Hi @hroberts , is there a rough timeline on this? We could really use this feature


Really need this, should be able to track the source from a live chat just as if they had filled in a form!

Contributor | Partner

Upvoting this idea!


No solution by now, right? 

Status updated to: Being Reviewed
HubSpot Product Team

Thank you all for the feedback.


If we were to have an event that basically captured if an email was created from a bot/live chat that you could listen to for Adwords would that solve this usecase here?






Well no, not really. If I have a sales enquiry and during the chat they give me their phone number, I'm still going to want to see that in google analytics and adwords as a conversion.


theres no need reinvent any wheels, just push an event for chat started AND contact created into Google Analytics and folks can use what they want. (Including import it into google ads)

It is s how you do it with forms already and literally every live chat solution does the same thing.


I still can't get over how HubSpot sees this as anything other than a standard feature of any chat software. It's nuts to me lol


live chat is often a lead just like a form is, Thats literally why all live chat systems create events in Google Analytics from the moment they are launched.


@cdewey22 That would be fine for me if I'm honest! If a new contact is created in Hubspot (email), send a conversion event. I also agree with @brettdpom however that if a phone number is received, that should fire a conversion as well. 


Yeah, just a generic event for live chat started and then one for making a contact.


then folks can use what they want when they want 

Member | Partner

I have had the same problem for quite a while now. Really hoping this will be solved. We are missing a lot of important data this way. If an event could be pushed as soon as someone leaves a message in the chat or if a contact is creating through the chat, my problem is solved. 


Is there an update yet on this?

Status updated to: Delivered
HubSpot Product Team

Hi all! We have added a new contactAssociated event that will be emitted when a chat visitor is associated with a (new or existing) contact in the HubSpot CRM. Developer documentation has been updated here.


Please let me know if you have any additional feedback regarding this feature, and thank you for sharing your experiences to help us improve the tool, we really appreciate it. 


Hi Tilly,
I was testing the contactAssociated event but it only executes when a new contact is created, if it already exists it merges it, the event is not triggered or executed for this last option, what can we do in these cases?