Google Analytics Goal Flow: More Funnels With Less Work

September 10, 2012
By Dorcas Alexander

More than one way to start a funnel

Let’s say you want to add an event to the beginning of your Google Analytics funnel. Maybe you want to compare the success of various internal promotions. Do people who click on promo A go all the way through the conversion funnel more often than people who click on promo B?

Traditionally that would mean tracking each of those clicks as a virtual pageview, and adding the virtual URL as a funnel step in two different goals. That’s inconvenient for a couple reasons. Using virtual pageviews will inflate your actual pageview counts unless you set up a special profile that includes virtual pageviews and exclude them from the rest of your profiles. You also have to set up separate goals for each promo click. More promos mean more funnels, and more work not only setting up but also analyzing the results.

Use Customize Dimension to Segment Funnels

With Goal Flow reports you have another option (not available in the traditional funnel report) – segment your funnel to make as many funnels as you need. The key to this approach is the “customize dimension” feature of the flow reports.

To get to Customize Dimension, click the gear icon at the top of the first column of the Goal Flow report. As you can see below, I’ve selected Custom Variable (Value 01) and then entered 2 items for Promo A and Promo B.

Goal Flow Customize Dimension feature

The result shows how both segments flowed through my funnel. I also get a data summary in the table at the bottom of the report that shows what percentage of each segment reached the final goal step. Easy to compare, since it’s all in one report.

Not to mention the real insight regarding loops and exits, which I can get by clicking to highlight interesting paths. If you haven’t used goal flow much before, see my previous post about how visitors really move through your funnel.

Goal Flow segmented - click for larger view

Of course, in order to segment by custom variable values, you have to have custom variable data. So that’s what you do instead of tracking virtual pageviews on those promo clicks. Instead, you set a custom variable, and enter the values of the custom variable in the Customize Dimension feature.

Set a Custom Variable and Track an Event

Remember that custom variable code can’t send data to GA on its own. It needs to be accompanied by code for a pageview or an event. I know I don’t want to track virtual pageviews. And since this is a click on a page, the basic pageview has already been tracked. So I’ll track an event with this custom variable.

_gaq.push(['_setCustomVar', 1, 'promo-click', 'promo-a', 2]);
_gaq.push(['_trackEvent', 'promo-click', 'promo-a']);

Why use a custom variable at all? Why not just use the event? You can select Events in the Customize Dimension screen, but if you choose them you’ll get less information than you expect (maybe even no data at all). That’s because an event is a page-based hit and won’t accrue “visits” unless it is the first hit of a session.

On the other hand, a session-based custom variable by definition counts every visit where the click occurred. What you see in the goal flow above is what happened in my funnel for visits with clicks on promo A vs. visits with clicks on promo B. If a visit included both clicks, the second one would get credit, because the custom variable would be overwritten.

For more information about the benefits of custom variables, see my previous post about tracking conversions for internal campaigns.

Bonus: You can apply these segments to other GA reports to learn more about the visitors who click a promo and convert. Are they new visitors? Where are they (city/state/country)? What search keywords brought them to your site? Just create an advanced segment based on the custom variable value for any successful promo.

Are you using the Customize Dimension feature in the Goal Flow report? Do you have other ways to gain funnel insight? Please share in the comments.