The ROI Revolution Blog

« Nagging Problems with Home Page A/B Testing | Main | More Profiles Means More Control »

Which Match Type Do I Use For My Goals?

July 25, 2006

When you set up a goal within Google Analytics, you have the option of including a funnel. The funnel is a series of the pages leading up to your goal action: each step in the path to requesting a whitepaper, for example, or the checkout procedure of your online store.

With traditional static websites, coming up with a funnel is a painless process. You plug in the static URL from your site into each field, give it a label, and then you're done. But if you're running a database-driven dynamic site, or need to include more than one page within a single step, you may be interested in the additional Match Types available for funnel creation.

Below the Define Funnel form of each Goal Settings page is a section called Additional Settings. Here you'll find a number of options to help you closely identify the steps of your website funnel, even if those steps are a bit more complicated than a series of URLs.

First, you'll notice the Case Sensitive checkbox. If "order_status.php" is different than "Order_Status.php," click the box. This means that the contents of the Define Funnel fields must match the capitalization of the visited URLs. We don't use this one a lot, but it's there if you need it.

Next is the Match Type. Here's where people get confused. By default, Google Analytics sets this to Head Match. Well, what the heck is Head Match, anyway? And while we're at it, what are Regular Expression Match and Exact Match?

Head Match
If your funnel step is always the same URL, but contains a query string with varying parameters, then Head Match is for you. Just use the URL, but exclude any unique query parameters.

If the URL visited is 'www.roirevolution.com/register.php?user=12345', then I enter 'www.roirevolution.com/register.php', set the Match Type to Head Match, and Google Analytics will match the two and count a successful visit to this step in my funnel.

Exact Match
In the previous example, if I had changed my Goal, with the step 'www.roirevolution.com/register.php' to an Exact Match type, then a hit to 'www.roirevolution.com/register.php?user=12345' would not count as a successful visit within my funnel.

This is because Exact Match requires that the visited page's URL match exactly with what I enter into the funnel fields. If I include an errant space or exclude a query parameter, then these items will not be counted toward the goal.

Regular Expression Match
So what do you do when you want to include a step in the funnel that contains both a session identifier and two or more filenames? Let's say that Step 2 in our funnel is 'www.roirevolution.com/register.php' as well as 'www.roirevolution.com/specialoffer', and that session ids in either filename should be counted.

We'll simply use regular expressions to catch those features of the URLs that remain constant. Regular expressions are used to match text strings using wildcards and special rules. So, for instance, the regex '^/(register\.php|specialoffer)' will match /register.php, /specialoffer, /register.php?user=12345, /specialoffer/?user=54321, and so on. You can see how powerful this could be.

For more information on regex, take a look at the Regular Expression Tutorial and Reference. Keep in mind that Google Analytics currently uses POSIX regular expressions. You can also download the RegEx Coach, which allows you to test a regex before letting it loose within Google Analytics. Thanks to Justin Cutroni for the heads up on this incredibly useful tool.

Lastly, be sure to set a value for any non-ecommerce goals. For non-ecommerce sites, Google Analytics has a total of 62 reports, 23 of which contain financial information. We're talking 37% of the total reports here, so it's definitely worth plugging in.

Got questions about goal match types? Regex? Leave a comment below.

Interested in learning more about Google Analytics?
Attend our LIVE Google Analytics Seminars for Success training in Chicago, IL Wednesday, September 16th, 2009 and Thursday, September 17th, 2009 or get the latest tips and tricks sent to you via our free, twice-monthly Google Analytics newsletter.

TrackBack

TrackBack URL for this entry:
/mt/mt-tb.cgi/138.

Comments

Hi Mike,

Great post, this is a topic that causes much confusion. One mistake that I see often is that users do not know that the 'match type' setting applies to the funnel steps AND the goal. I've seen people use a regular expression for the goal and an exact URL for the funnel steps. It's a very common mistake.

Keep up the good work,

Justin

Posted by: Justin Cutroni at July 26, 2006 11:10 PM

All too true, Justin. Thanks for pointing this out.

Posted by: Michael Harrison at July 27, 2006 11:34 AM

This is something that always trips me up when creating goals.
Say I have these two almost identical looking Thank You page URLs:

https://my.site.com/ssl/travel/boat/trip.rvlx or https://ncl.site.com/ssl/travel/boat/trip.rvlx?

With the only difference being the sub-domain of each. If I am creating a goal and I want to count visits to both of these URL's as one since they are essentially the same page (just the URL is different), would I use regular expression as my match type and /trip.rvlx as the goal URL?

I understand exact and head match but regular expressions always get me!

Thanks

Posted by: Jesse DaCosta at April 8, 2008 9:00 AM

@Jesse: You can actually use head match for those two since the Request URI, which does not include the hostname, is the same for both pages. You should use Regular expressions if you want to match multiple pages that differ in the beginnning or middle of the Request URI, or if you want to include pages that end more than one way while excluding pages that end in other ways. Head match, however, will work just fine for the majority of situations.

Posted by: Jeremy Aube, Google Analytics Support Tech Author Profile Page at April 8, 2008 2:13 PM

Hmmm, I didn't realize you could use head match for that. I thought head match was used when you had dynamic pages and the id's or unique values in the request URI changed for the same page essentially. So in this case, since the hostnames are different, what would be my goal URL? /trip.rvlx?

Thanks for clearing this up! I love reading your blog.

Posted by: Jesse DaCosta at April 8, 2008 5:08 PM

Hey Jeremy,

Not sure if I submitted my follow-up comment or not but I was just wondering what my goal URL in the above example would be? I thought head matches were for dynamic URL's where the values changed in the request URI, but the page was the same.

Thanks

Posted by: Jesse DaCosta at April 9, 2008 8:21 AM

@Jesse:

Hey, I just thought I'd chime in on this one, as it can get pretty confusing. The most important thing to understand about match types is that none of them look at the hostname (domain name) - ever. Instead, the types only look at the page name, or the Request URI, as it appears in your Google Analytics reports.

This means that if you are including the hostnames in your reports or doing something to your pages with filters, you need to take that into account when creating goals.

So for your example, you could just use /ssl/travel/boat/trip.rvlx with a head match, but only if the hostnames don't appear in your Top Content report. Head Matches should always start at the beginning of the page name - so /trip.rvlx would not work here.

If you were using regular expression match, you would only use /ssl/travel/boat/trip\.rvlx - so it's not much different. As opposed to Head Match though, you could use /trip\.rvlx here, but you may end up matching things you don't want to if you're not careful.

An easy way to check a regular expression goal is to type the expression into the Search field of the Top Content report.

Again, if you are changing your page names with filters, then you've got to include those in your matches, and in this particular example, Regular Expressions would be the only way to do it, and you could simply use /trip\.rvlx, as long as it matched only the correct pages.

Hope that helps!

Posted by: Shawn Purtell, Google Analytics Support Tech Author Profile Page at April 9, 2008 10:23 AM

Thanks Shawn (and Jeremy)! You guys are a great help; keep up the great work.

Jesse

Posted by: Jesse DaCosta at April 10, 2008 8:40 AM

I have been having the biggest issue trying to figure this out. How would I setup a goal conversion for a url like this:

https://www.abcd.com/directory/index.php?affiliate=0


I tried head match with both of the following as goals:

^/directory/index.php\?

^/directory/index.php?affiliate


Neither of these are working... I just don't understand why. I'm usually really good with analytics. What am I missing here?

Posted by: Chris Oyolokor at December 18, 2008 4:45 PM

@Chris: There's no need to put regular expressions in a Head Match goal. Try just:

/directory/index.php?affiliate=0

Or change your match type to regular expression and do:

^/directory/index\.php\?affiliate=0

Either of those should work.

Posted by: Michael Harrison, Google Analytics Support Tech Author Profile Page at December 18, 2008 4:52 PM

How about excluding certain pages from the funnel. For example, if the person starts on a url that contains a "z" I don't want to count them in the funnel. So www.domain.com/z-start.php would not be a counted, but www.domain.com/start.php would.

Thanks

Posted by: Alice at January 21, 2009 12:47 PM

@Alice: In that case, you could set /start.php as a required step.

Posted by: Michael Harrison, Google Analytics Support Tech Author Profile Page at January 29, 2009 2:01 PM

Post Your Comments

Feedback Form