Tracking Google Adwords--Conversion Tracking

David I. shared this question 22 days ago
Answered

Hello IO Team,

We have been working on Lead Attribution for all of our Source/Medium Traffic.

The issue we are running into is the lead Source/Medium is always attributing those to the Manual Email or AutoEmail.

It seems as if IO is not retaining the Lead Source information with the Quote Number or Customer Number as it completes in the system.

We are looking to report Revenue to the initial Lead Source or Start Purchase Lead Source.

We are using a variation of this currently:


window.dataLayer = window.dataLayer || [];

dataLayer.push({

'lead_id': '%leadid%',

'total_value': '%total%'

});


Then In GTM:

  • Go to Variables → New → Data Layer Variable
    Name: lead_id
    Name: total_value
  • Use in Tags Example for GA4:
    Event name: lead_submit
    Params:
    lead_id → {{lead_id}}
    value → {{total_value}}

Comments (8)

photo
1

You can use the variable:

'transaction_id': '%leadid%'

to add the lead number to the tracked variables. The lead number is included in the URL of both quotes and contracts, although I'm not sure how that may appear in Google console.

Here's our analytics article for more information on this. It includes info on when analytics will run, and has some videos on this as well.

https://rental.software/support/knowledge-base/article/analytics-tracking

photo
1

You have two boxes under Analytics tracking. One is Quote Conversion, other is Sale Conversion.


Can you tell me on what URLs the code in these boxes executes? There are lot of different URLs, like io_quote, io_contract, io_quoteconfirm. It's very confusing.


There has to be one URL each for each of the two boxes. If I can get those, I can install the codes using Google Tag Manager and pass the values to GA4.

photo
1

Hi Christian, could you please help with this?

photo
1

A quote conversion is triggered when the quote confirmation page loads. A sale conversion is triggered when loading a contract page, but only if payment is received.

photo
1

Christian and Shane, I am not able to pass the purchase ID and value to Google analytics from Google tag manager. The variables are %leadid% and %total% are getting read as strings instead of the actual values.


Here is the command I'm using in google tag manager:


window.dataLayer = window.dataLayer || [];

dataLayer.push({

event : 'purchase_with_ID',

'purchase_ID' : '%leadid%',

'value' : '%total%'

});


And then in the google tag manager data layer, I'm getting this:


{

event: "purchase_with_ID",

gtm: {uniqueEventId: 153, start: 1753702147478},

purchase_ID: "%leadid%", //not the actual values :(

value: "%total%"

}


Can you please help me with the correct script? I hope someone in your team would know this.

photo
1

*In the first line above it's not supposed to be Google analytics, that's a typo. It's Google ads.

photo
1

It looks like you still need to add an event snippet to your conversion code box in IO > Analytics Tracking. This video shows the process.

photo
1

It's not added because I' m using Google Tag Manager to track conversions. What you guys have doesn't seem to give accurate results. My clients keep questioning my Meta ads results.


So if you can please answer my question on google tag manager, that would be great. If you are not conversant with it, that's also fine. In that case, could you please tell me at what stage in the purchase process do the %leadid% and %total% variables come into existence. What type of variables are they? How do I read them? If you can give me a general answer that's not just in the context of ads, that would be really helpful.

photo
photo
2

Adding the variable does not put that info in Google ads reports. At least, I've never been able to get that to work. ERS creates a new thank you url for each conversion, where IO does not. It's always done at the same URL website.com/io_contract


I've had to use google tag manager and google analytics to accurately track conversions.

photo
2

In the IO analytics tracking you'd put this in before the GTM script:

window.dataLayer = window.dataLayer || [];

dataLayer.push({

'lead_id': '%leadid%',

'total_value': '%total%'

});


Then In GTM:


  • Go to VariablesNewData Layer Variable
    Name: lead_id
    Name: total_value
  • Use in Tags Example for GA4:
    Event name: lead_submit
    Params:
    lead_id → {{lead_id}}
    value → {{total_value}}

photo
1

Thanks Joel. This looks good. I'll implement this. I'll get back to you if I run into issues.

photo
photo
1

I have 2 follow up questions.


Does the page with the path /io_contract load only once for the purchase process or does it load more than once?


What's the URL if the payment fails? When payment succeeds we have https://companyname.com/io_contract/?io_name=&qid=123&cid=456&sq_cc_success=1 , but what is it for a failed payment?

photo
1

yes it can load more than once.


sq_cc_error is applied when there is a failure, but that's only if they are using square as their payment provider. they are several payment merchants they can use and all work differently.

photo
1

Hello Joel,

We have been working on Lead Attribution for all of our Souce/Medium Traffic.

The issue we are running into is the lead Source/Medium is always attributing those to the Manual Email or AutoEmail.

It seems as if IO is not retaining the Lead Source information with the Quote Number or Customer Number as it completes in the system.

We are looking to report Revenue to the initial Lead Source or Start Purchase Lead Source.

We are using a variation of this currently:

window.dataLayer = window.dataLayer || [];

dataLayer.push({

'lead_id': '%leadid%',

'total_value': '%total%'

});

Then In GTM:

  • Go to Variables → New → Data Layer Variable
    Name: lead_id
    Name: total_value
  • Use in Tags Example for GA4:
    Event name: lead_submit
    Params:
    lead_id → {{lead_id}}
    value → {{total_value}}

photo
0

Good Morning Shane,


Can I set up a Zoom meeting with I.O. Developer (Joel) to discuss possible solutions?


P.S. Watch a NEW highlight video from a recent school event by clicking HERE


Sincerely,


David O. Idi

Sr. Sales Manager


Mr. Moonbounce LLC.

6801 Eastern Ave., Unit 102

Baltimore, Maryland 21224

Office: (443) 909-5215

Email: david@mistermoonbounce.com

Website: http://www.mistermoonbounce.com

photo
1

Why you’re seeing “Manual Email” / “AutoEmail” as Source/Medium

If a customer returns via links in emails you send from IO’s Email Center, those clicks will be tagged with UTMs that Email Center automatically appends. That email click can be the “last touch,” so reports that use last-touch will attribute the session/lead to email.

How to report revenue to the original first touch

Option A — Preserve first-touch UTMs on form submit (Elementor)

  1. Add hidden fields to your Elementor quote/contact forms for utm_source, utm_medium, and utm_campaign. Use hidden field type; for IO custom fields, use underscores (e.g., customfield_1234) because Elementor doesn’t accept dashes in IDs. Map each hidden field to a dedicated IO field that won’t be overwritten later (recommended: custom fields).
  2. Bind each field to the incoming query parameter (so it captures the first-touch values when the form is first submitted): Elementor → field Advanced tab → Request ParameterType: GET → Parameter Name: utm_source (repeat for utm_medium, utm_campaign).
  3. This captures and stores the first-touch UTMs at the time of the quote, so later email clicks won’t overwrite your preserved values. (This approach aligns with IO’s UTM + Elementor guidance.)

Option B — Use IO’s built-in parameter tracking

IO automatically tracks parameters like utm_source, utm_medium, and utm_campaign across your rental.software pages and your WordPress domain (with the WP plugin). Tracked values are stored in a 6-month cookie. Make sure your ad links include UTMs.

Reference with link structure and reporting examples.

Reporting on revenue by first touch

  • If you saved first-touch UTMs to dedicated fields (Option A), create a Report grouped by those fields and add Count/Total to attribute leads and revenue to the original source/medium/campaign.
  • You can also use the Marketing UTM report paired with the Leads with UTM Info filter for quick analysis.

Leave a Comment
 
Attach a file