HS Leads vs GoogleAds Conversions

Hello!

I noticed a discrepancy between campaings: Leads in HS interface are not the same as Conversions in GoogleAds inteface.

The number of impressions and clicks coinsides in both sysmes though.

Is it ok or something is broken?

Hey @UKwebanalyst it’s expected that two different analytics tools may show differing results. There’s a great guide on this on the HubSpot knowledgebase here. Often times what’s deemed a “conversion” may differ between the systesm, they also may have different bot filtering, different session rates etc.

In general it’s best to look at trends in the analytics instead of hard numbers when comparing.

Thank you for you comment.

I have already seen this page but for me it seems irrelevant.

We have a conversion action in Google Ads wich is hubspot_conversion event. Google Ads account is integrated to HubSpot which means data from Google Ads is sent to Hubspot.

So I take Campaing Name X for the same time period and what I see in two systems:

Impressions:

GA:

8000

HS:

8000

Clicks:

GA:

800

HS:

800

Conversions/Leads:

GA:

13

HS:

2

Hey @UKwebanalyst what triggers the conversion event within Google ads? Specifically, is it a form submit button click, a form submission being sent etc?

User submits a form → hubspot-form-success event pushed to dataLayer:

1) hubspot_conversion is sent to GA4

2) Conversion goal is sent to Google Ads

Thanks @UKwebanalyst As far as I’m aware the hubspot-form-success event isnt’ an officially supported event, so there’s possibility this may be the issue. Trying to see if I can get more info on what specifically triggers that event though. I have a couple of guesses as to what’s happening though:

1. The form success event happens prior to the submission and validation. So if someone enters the wrong data and it’s rejected by HubSpot validation, they would need to re-enter it to submit again, triggering multiple GA submissions and a single HS one.

2. Similar to above, it happens after validation and before submission, but there can be frame refreshes (if you’re using HubSpot form themes) and other things that may potentially trigger multiple firings of the same event.

3. Bot filtering. Most of the time you have to set up your own filters in google ads, HubSpot does this out of the box. So they may have been filtering bot traffic while GA is not. Particularly if you have HubSpot bot filtering enabled.

4. Just a hunch since you mentioned “leads”, are you measuring the HubSpot conversions on form submissions or on contact created? Because if a person submits the form with the same email, that would be multiple conversions but a single contact.

Hope this helps you with some troubleshooting!

Thank you for your deep dive into the issue. I am the person from the Google Analytics side, so I can comment on your assumptions only from this angle.

hubspot-form-success event is pushed to dL by the script:

<script type="text/javascript">
 window.addEventListener("message", function(event) {
 if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormSubmitted') {
 window.dataLayer.push({
 'event': 'hubspot-form-success',
 'hs-form-guid': event.data.id
 });
 }
 });
</script>
  1. No, events are sent only after the submission of HS form.
  2. Do not understand it, addressing this assumption to the guy responsible for HS.
  3. If we have different filters applied to both systems why do we face discrepancy only with Conversions/Leads? Shouldn’t such filters filter out Impressions and Clicks as well?
  4. I should address this to the HS guy but it was my initial guess: Leads != Conversions. Next questions: where can we find conversions from GAds within the HS interface to validate that we have Conversions (HS) == Conversions (GAds)?

Ah! This makes sense, I was thinking the hubspot-form-sucess isn’t a HubSpot event, but the onFormSubmitted is a callback that’s sending the event so that makes sense.

You should see your ad contacts in your HubSpot ads dashboard here.

So I think this would be point 4 to be honest. HubSpot analyses “contacts”, as in unique contacts who have submit the form. Your GA trigger is triggering an event every time the form is submit.

So for example if I submit your ad with the email “tom@tom.com” twice, that would be 2 GA events and 1 HubSpot contact.

Going through the article here, do you have auto tracking enabled for this? Do you also have an email address field on your form? If people submit the form without an email won’t create a contact unless the setting to create contacts without an email is enabled.

Just thinking through this too, I think what’s happening here might be this:

1. The HubSpot campaign will report on contacts created with that specific campaign as the original source.

2. The google ad will trigger a conversion event every time the form is submit.

This means if a contact already existed in HubSpot from another original source and submit the form, they would get a google ad conversion, but they wouldn’t be attributed as a contact created from that campaign in HubSpot.