Number of Custom events / Sessions (CTR of a CTA for example)

Hi, first post here :slight_smile:

Context : On a website with Google Ads trafic with multiple Landing pages, I’m trying to find out which landing page has the best click on any Call to action button rate on any session with source/medium = google/cpc. Has anyone any advice on the method to do this ?

Here is the path I’ll be following :

  • Create a CTA custom event with a custom dimension = Page URL. This custom event is only fired if page URL contains UTMs (I dont rewrite URL then so it means it’s an entry page + it matches google/cpc condition)
  • Create a custom report > explorer :
    • Nested dimension > Source/medium + Campaign name
    • In the table > Page URL, Unique page views, Unique custom events
    • I can even create a calculated metric (Unique custom events/Unique page views)

Problem here => Other custom events that are not CTA clicks will be included. If I try to filter dimension > Custom event name = CTA, I have 0 pageview in the report…

I’ll keep it updated if I find any solution

Hi @ArthurLM,

welcome to the community forums :slight_smile:

All custom events by default have the page URL where the event occurred when the standard tracking templates are in use. So, there’s no need to use custom dimensions here.

I’d go with something like that (2nd dimension is custom event name):

There’s no need to add google / cpc as the first dimension, as this could be filtered out with the use of a session segment:

Unfortunately, filtering by one event type, excludes by default others. That’s why segmenting by custom event name, automatically excludes all page views. It’s because custom event and page view are 2 different event types.

To have a clean report with just the traffic where the CTA was clicked, I’d setup a session level custom dimension once the event trigger is fired. You could then add it to your previously created segment with google / cpc condition.

Thanks for your answer !

Before you answered, I already thought that using session level custom dimension could be a great solution so here is what I did & what I’m struggling with now :

  • Create a session custom dimension
  • Create 4 new “Custom Dimension” tags like this :
    - Once per session, on everypage => Session custom dimension = “cold”
    - RegexpMatch on click on any CTA => Session custom dimension = “warm”
    - CustomDatalayer event “Startchat” (on an embedded chatbot on my contact page) : “Start chatbot” => Session custom dimension = “Hot”
    - CustomDatalayer event “formSubmission” (at the end of the chatbot) => Session custom dimension = “Lead”

Then after some struggling, I added those 4 tags as priority (in this special priority) > Cold first > Warm > Hot > Lead. Just in case, Lead will not be overwritten if for whatever reason, the “Once in a session” trigger condition on “Cold” didnt work.

I’m making a lot of tests right now and I’m struggling a bit with debug/preview. The custom dimension value is always “Undefined” even if the trigger animation + the tag are sent in the debugger.

Edit : And I can already see “Warm”, “Hot” and “Lead” sessions, so It’s even more confusing that it’s always undefined in debug mode…

Any comment/advice on this ? :slight_smile:

Thanks !

Can you share the site URL where you’re setting this up? While debugging, I’d suggest to use both the tag manager debug mode as well as the tracker debugger within the UI. See this guide for details. Tracker debugger is really useful because it shows data in realtime.

Yes of course !

The URL :

I tried following the guide but when I use :

_paq.push([ function() {console.log(this.getVisitorId())}]);

I have an undefined value :confused:

Ok now I see. It’s because you have cookies disabled and the idvisitor is not available from javascript. In this case you have to simply find your ID in the tracker debugger manually. Depending on your current traffic, it maybe easier or a bit harder but a quick refresh should do the job.

In general, do you see proper events in the tracker debugger?

Edit: I quickly checked it and it looks OK.

In the tag manager debug mode, you can prevent page reload and simply check if tag was fired:

The tracking request can be also checked to confirm proper call:


You can identify custom event call by the e_c parameter.

You have to keep in mind that data in the reports appears after ~30mins delay. Only tracker debugger works in realtime.