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…
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):
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.
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…
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.
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?