Cardinal Path’s response to COVID-19 Cardinal Path is sharing all we know to help marketers during COVID-19.  Learn more.

Suppose you manage the AdWords campaign for an online service that offers a 30 free trial before I have to submit my credit card info and officially signup for your paid service.  One day, I clicked your AdWords ad, became interested in your service, but it wasn’t until a few days later when I searched and clicked on your organic listing that I actually signed up for my 30 trial.  After 30 days are complete, I go into my account, submit my CC info and ‘convert’ as a paid member.

AdWords isn’t getting any credit for that conversion.

Here are a few reasons why AdWords is losing credit for this conversion:

  • AdWords conversion tracking will only attribute conversions to a click if a conversion happens within 30 days of the ad click.
  • Google Analytics uses a last-click attribution model, so visiting the site through any other recognized source or referral will override the ‘google/cpc’ attribution.
  • Google Analytics Multi-Channel Funnels is a great way to group a mixture of different sources to a conversions to an eventual conversion, but these reports are also limited by a 30 day lookback from the point of conversion.

The following information will guide you in how to use Google Analytics custom variables to associate these conversions to your AdWords clicks. And for a bonus treat I’ll even suggest one way of retaining AdWords attribution for when people convert on a different device!

Enable AdWords Auto-Tagging

We strongly recommend enabling auto-tagging in AdWords. This will allow you to analyze the really juicy AdWords reports within Google Analytics.  Also, the code in this post will look for the ‘gclid’ parameter so that we only set custom variables against AdWords visits. Visit the following link for more info on enabling auto-tagging:

Add additional URL parameters to your AdWords destination URLs

We will want to add the following ‘gaw_campaign’ and ‘gaw_term’ URL parameters to your AdWords destination URLs:


*Note* Please change ‘CampaignName’ to the name of the AdWords campaign that the destination URL is placed in. Please change ‘AdGroupName’ to the name of the AdWords AdGroup the destination URL is placed in. You do NOT need to modify the {keyword} as that is an AdWords variable for dynamic keyword insertion.

Example Destination URL (original):
New Destination URL to enter in AdWords:{keyword}

Add URL query parameter exclusions to Google Analytics profile

Add the following URL parameters to be exclude in your Google Analytics profile settings so we don’t clutter up your content reports:
ss_gaw_campaign, ss_gaw_term

Set AdWords Info to GA Custom Variables

We will want to create 2 visitor-level custom variables so we can track these AdWords parameters for up to 2 years… assuming cookies are cleared from the browser 🙂  Copy the JS code from the following link to create your custom variables:

If you are using CV slots 1 and 2 for other variables, then assign these new variables to other open slots.

Google Analytics AdWords Custom Variables

Conversion = Magic!

Those visitor-level custom variables are going to stick around for a while, so when a conversion does finally happen it will be associated with these variables. You can use the following Google Analytics custom report to drill down into the campaign/adgroup to view the different keywords. The report is just a basic setup so you can modify as needed:

But what if they convert on a different device?

Yeah, that happens.  It’s just something we have to deal with in a world where people have access to a handful of web-enabled devices. But if you operate a website where your visitors login then you can save these custom variable values in your database so you can re-set them at later logins on whatever device they are on!

You can save these values to your database once a user signs up for a profile on your site.  Copy the following JS code to retrieve GA custom variable values:

Google Analytics get custom variables

I’ll leave it to you to insert these values against the member record.

Once these values are saved against the user, just execute the earlier setCustomVar lines of code to re-initialize the custom variables upon user login by simply querying the values from their member record.

This isn’t just for AdWords

The most important principle here is the ability to use visitor-level custom variables to store source/referral info that otherwise would be overwritten.  You can apply theses concepts to any of your marketing channels that you think suffer from the 30 day limits that I described in the beginning of the post. Be creative!

Feel free to drop a comment if you have any questions about this solution.