Goals & Funnels in Google Analytics: Confusion and Workarounds



Goals are one of the most important things you can establish in your Google Analytics account, but you also need to understand what you’re looking at, so that you don’t jump to the wrong conclusions.

“Hey our email where we sent out a picture of manatees wearing men’s suits really did well! We should run more of those!”

How are our Google AdWords campaigns performing in getting people to come to our ecommerce store to buy our clothes? How does adding an extra page in our checkout funnel affect overall conversion? These are all things that goals can help answer.

There’s a lot of confusion around Goals and Funnels, so I hope to answer some common questions here, provide some (not so great) workarounds, and end with my recommendation for Google. Let’s use an example an ecommerce website which has three store sections (men’s clothes, women’s clothes, and children’s clothes).

Confusing Thing #1: Goal Completions are not related to Goal Funnels

goals are the same

“Why do all my goals have the same number of completions? Why aren’t they working?”

When you set up a URL Destination goal, such as a purchase confirmation page, that’s the page that will generate how many times that goal was complete. Maybe for our ecommerce website we’ll set up three different goals with three different funnels, one starting with a required step on the Men’s store, and one with a required step on the Women’s store, etc… Yet when we look at the Goal Conversion Rate or the Completions they will all be identical.

goal setup example

That’s because on our site we have a single page (/thanks-for-your-purchase) which every purchase finishes on. The funnel itself, even though we’ve clicked the first step being required, doesn’t matter at all to the goal completion itself. All that matters is “Did the user hit the URL Destination page listed?” That’s it.

Potential Workaround – URL Parameters

Are you able to pass information breaking up your conversions to the final conversion page? Maybe you can put a parameter on the URL that makes /purchase-complete?shop=mens different from /purchase-complete?shop=womens? If so, you’ll be able to create specific goals based on those parameters, and see different goal conversion rates for your men’s, women’s, and children’s shops.

You could even pass a variety of information and create different goals based on the product itself.

too many parameters

“What’s the conversion rate on non-waterproof blue men’s coats?”

The Problem With This Workaround

This breaks down pretty quickly unfortunately. It remains session based, so what if someone visited the men’s store, and then purchased from the women’s store? Would that get passed on? What if they’re not buying one product, but multiple? What if you have multiple portals that sell men’s gear, and want to distinguish them? Suddenly you have a slew of parameters that effectively become the user’s session history of every page they hit, and that’s just not an effective solution.

If you’re doing something simple, the workaround probably works. Start adding complexity and you are back to square one.

Another Workaround – Custom Dimensions

Alternatively, you could set a custom dimension in Universal Analytics on specific pages, and have them be session based. So if someone hits the children’s portal, you set a session level custom dimension for “children’s” and then have a view that filters for JUST that value in the custom dimension. Then when you duplicate the goal within the view, you’ll be seeing only conversions with that specific custom dimension value.

The Problem With This Workaround

What happens when someone hits the women’s portal page next, does it use a second custom dimension, or overwrite the one you’re using? If you have a small site, you could get away with this, but otherwise you’ll quickly run out of custom dimensions that could be used for much better things. Or maybe you have multiple ways into the funnel, and skip those pages entirely. Once again, if you have a very simple site, you can probably make it work, but it breaks down under complexity.

Confusing Thing #2: The Funnel Conversion Rate is not the Goal Conversion Rate

funnel conversion is different from goals

So the goal completions are the same, but those aren’t the Funnel Conversion Rate. The Funnel Conversion Rate can be found inside the Funnel Visualization report page under Conversions>Goals. There you can see how many times the goal was completed along with that Funnel Conversion Rate.

The Goal Conversion Rate is tied simply to the final URL Destination, and doesn’t care about the funnel. The Funnel Conversion Rate is JUST the percentage of people who completed the goal who entered the goal somewhere. If someone didn’t ever touch any of those steps, they’re not counted.

This is partly what leads to the funnel conversion rates being so much higher than goal rates. The goal might have a 0.5% conversion rate, but the funnel conversion rate might be 50%.

We don’t need a workaround

The funnel conversion rate is what it is. It’s just important to understand that it’s NOT a goal conversion rate that includes the funnel, but something specific to the number of people who entered that funnel, rather than the total number of people who hit the website. It’s a good metric, even if we can’t access it ANYWHERE but on the funnel visualization.

Confusing Thing #3: The Funnel Numbers Are a Lie

Hey but at least we know that people hit all those steps in the funnel right? Sadly no. Ever see a funnel that has 100% of the people moving through several steps along the way? One reason might be because these numbers are “backfilled”. The first step is required, so if Google Analytics sees you hitting a later step, it will assume you hit those earlier funnel steps. It then fills in the numbers for the previous steps assuming that there was some error that caused them to not see those hits.

So did 100% of the people really see that personal information page and pass through to the credit card processing page? Or did nobody? The Funnel numbers themselves can be lying to you.

For more information how this works, refer back to some of our previous articles: Funnel Problems in Google Analytics or Google Analytics Goal Flow: How Visitors Really Move Through Your Funnel.

We don’t need a workaround

Like #2 there’s not much we can do here, besides be aware of it. Probably the best thing we can do is use this knowledge to be very careful about how we construct our goals, and if we see weird things like 100% users passing through several stages, we might want to look at editing the goal, or checking the actual user flow on the page, to confirm that things are working. Just don’t ever assume that the numbers are 100% accurate.

Confusing Thing #4: You Can’t Segment Goal Funnels

Are you interested in just looking at how the organic traffic is performing in your funnels, rather than all traffic? Well, unfortunately, you can’t use segments in the Funnel Visualization. If you have a Custom Segment applied while looking at one report, you might get confused when you switch over to the Funnel Visualization and lose the ability to segment. So let’s say you really wanted to look at only sessions where a visitor saw that new banner with the manatee wearing a suit picture on the home page. Sorry, that segment won’t work, and you are forced to look at 100% of the traffic to that view in the funnel.

Potential Workaround – Using Multiple Views

The best thing you can do here is leverage your views. If you want to see your goal funnels for just organic traffic, then you should create an organic traffic view, and share your goal within it. That way the funnel visualization and conversion rate within the organic view will show just those goal and funnel conversion rates for that segment.

The Problem With This Workaround

If you are doing something like firing an event on your home page manatee banner image, and have been segmenting based on that, you’ll need to change how it’s handled. You could use a similar custom dimension session scope solution like with the first confusing thing, but that leads to the additional problems listed above like running out of custom dimensions.

In addition, views are only populated going forward. Want to know what your organic funnel conversion rate was last month? Well this solution won’t help you. You’re just not going to get that number easily.

Proposal to Google Analytics #1: Goal Override

overwrite goal conversion

My proposal to help solve some of these problems is basically to have Google Analytics create a Goal Override on the Goal itself.  A toggle which lets the Goal Conversion Rate be affected by the funnel itself.

Instead of reporting on the percentage of people who visited the WEBSITE who hit the URL Destination page, it would be the percentage of the total visitors who hit all the REQUIRED STEPS in the FUNNEL and also hit the URL Destination Page.

This way your Goals could be much more specific to a pattern of activity, rather than a single event.

Proposal to Google Analytics #2: Required/Optional/Disallowed Steps

I would like to be able to set a toggle on each step in a funnel, which would define that step as required, optional, or disallowed.  If the step is optional, no need to forcibly backfill it. If the step is required, and a person doesn’t hit that step, they don’t convert the goal. If the step is disallowed, and they hit that step, then they don’t convert that goal.

An example would be a funnel where you want to look at the conversion rate of those that were brand new customers, so you want to require the new account creation page, meanwhile in another goal for existing users you want to DISALLOW that page, so if someone hits the new account creation page, it should be left out of the goal.

Proposal to Google Analytics #3: Segments on Goals

I would like to segment goals within the Goal setup itself. For instance I would like to be able to go into an essentially unfiltered view, and create a goal and as part of the goal define that the Source/Medium needs to be google/organic. That way I could create a “Google Organic Conversions” goal in a view, without necessarily having that view be ONLY Google Organic visitors.

It would simply only restrict the conversion on that goal to the person’s source/medium (or other dimensions like say Country or Region, or multiple variations) rather than simple behavior.


Goals and Funnels can have confusing aspects, and when you really dig into them they sometimes can’t do what you want them to do. There are potential workarounds, but nothing that is perfect. I have few proposals for how Google Analytics could improve Goals and the Goal Funnels, but I’m sure I’m not the only one. If you’ve got a great workaround or suggestion for how to fix some of these common issues, leave them in the comments!

Sayf is a former LunaMetrician and contributor to our blog.

  • Couldn’t agree more. The goals feature was revolutionary when they first came out many years ago, but needs a complete overhaul at this point. I appreciate your research backed suggestions and would add that some sort of ability to build your own funnels using retroactive data and have filtering capabilities is what these reports need. If you can verify a goal retroactively, why can’t goals work that way too? I envision something like content groupings for goal definitions being the way that goals can become more useful. Also, I would get rid of the goal naming convention altogether and call it a conversion.

  • Sayf Sharif

    +1 retroactive goals and filtering capabilities. I’d love me some retroactive goals.

  • Garry

    Hi Shay

    Hope you don’t mind me asking a couple of questions, but I’m just starting my first analytics project and there are some things that are not particularly intuitive to me, and part of this relates to goals and funnel. The client has two domains both of which sell products but to different types of customers. Annoyingly, the checkout process is quite different on each of the two sites, but they both sell the same products. The intention is to install enhanced ecommerce tracking.

    The first question I had was whether this was best to set up as two separate properties within analytics or track all together. I’m leaning towards the latter as it seems to me that it would be important to aggregate product impressions/details views/purchases etc before analysing the data. Would you agree? Then as each domain has different urls I could create two separate funnels, one for each of the two checkout processes?

    Within the two checkout processes, the first goes Cart>Login Page>Account>Confirmation>ThankYou where the Login Page is only hit for users not logged in – otherwise they go directly from Cart to Account. In this case should my funnel involve each of these steps? It seems from your article that in the case
    where a user skipped that stage then exited on the Account stage, the Login step would be back-filled and they would correctly appear as a drop-off at the Account stage, right? And is it correct to include the Cart page in the funnel, or would you generally start the funnel from the first of the checkout pages?

    And the other checkout page posts back to itself at every step in the process so the URL remains the same. Is it possible to create a funnel in this scenario?

    I’m sorry for what has turned into a stream-of-consciousness barrage of questions, but in the short time I’ve been looking into analytics, you and your colleagues stand out as beacons of knowledge, so I hope you don’t mind me approaching you in this way


  • Sayf Sharif


    If the sites are related and send traffic back and forth, I’d use one property, but also use views to not only have a master view with both domains, but views specifically for each with tailored goals/funnels.

    the funnel should have all steps, but not have the first step required, then you’ll see drop off to the login page.

    The funnel should start with the first page of the checkout process, which could also be the product page, if you can regex the URL of ap roduct page.

    If the URL remains the same, you should figure out a way to modify the name that it sends to GA or GTM so that you can use VIrtual Pageviews and send them as different page names, even if the browser name doesn’t change.

  • Garry

    Thanks, Sayf. It’s really good of you to respond. I have one more question and then I promise I’ll leave you alone. .. you recommend creating separate views. In this case, the GA acocunt that I’m taking over is almost three years old and so has lots of data associated with it, albeit without having applyied the filters that I think should have been applied. If I create new views I am basically starting with no data. I did wonder in this case whether it was best practice to just make whatever modifications you thought necessary to the legacy view and continue along that path, or create the news views that are configured the way you want them. Neither way sounds optimal and everything I’ve read seems to assume you are starting with a clean slate. What do you think?

  • Sayf Sharif

    If you can upgrade your account to do things better, then you should always do so. Sure right now that makes things harder looking at older data, but in a couple of years you’ll be glad you did.

    For legacy views you’ll need to manually extract the goal flows using segments and looking at navigational summaries, etc. I don’t think you need to start with a clean slate. You can fix things up now, deal with the older data with a little elbow grease, and then down the road you’ll be in a much better situation.

  • Garry

    Thanks again, Sayf. And I just realised that I called you Shay in my first email – sorry about that!

  • Great post – Sayf. It would be great if we could set-up Required/Optional/Disallowed Steps at each steps of the funnel or even use an and/or type operator.

  • Stephen Landau

    This is brilliant. Thanks So much for clearing up my confusion. I absolutely love your suggestions to Google. Let’s make it happen!!!

  • Lindsay Rose

    Great Article! Thanks for detailing some of the Gotchas of GA Goals and Funnels!

  • Great article, Sayf! Thanks. One of your workarounds to equal Goal conversions to Funnel conversions sounds very interesting: To set a Custom Dimension for users hitting specific pages. I think you need to build a JS code snippet, but I am not sure where to start… you have an idea how to implement this?

    • Sayf Sharif

      Like so many things it depends on your setup. If you are using Google Tag Manager you could have a Trigger that only fires on a specific page. Then you could have an event fire on that trigger which fires an event that carries a tag along custom dimension with the value you want to filter on. Then you set up that custom dimension in the custom definitions of a property, create a view that has a filter on that custom dimension for the value the tag passes, and then set up your goal in that view. et voila.

      • From my research it is not possible (yet) to filter by Custom Dimensions in GA ;’-( if you think I’m wrong, please let me know how! 🙂

  • Sue Sweet

    Thank you for writing this article. This was exactly what I was looking for.

  • Proposal #2 is definitely what I am coming up against right now, I hope they implement. Informative post, thank you. ~Meghan

  • Jyot Patel

    You can use cutom funnels in Google Analytics Premium which has all the above functionalities you’ve suggested. Probably Google read this post!

  • Deanna Lee

    Hi Sayf, great post.

    I have a quick question. About 1/3 of my funnel conversions are entering at the last step. For example, 1,237 people move from stage 2 to the final stage. However, I have 1,880 people that completed the funnel. You need to complete Step 2 (required credit card) in order to have actually completed the funnel. How do I prevent this?

    • Sayf Sharif

      Different ways, it depends on your implementation. What I would generally do is something along the lines of an additional single session cookie getting dropped on the penultimate page, that lets us know they actually did hit that last funnel step. Then on the goal completion page, look for that cookie, and if it exists, delete it, and then rewrite the URL to pass the URL as a virtual pageview with an additional parameter like c=1 on the URL, then rewrite the goal to need that parameter. That way you only have a goal completion when someone was on the penultimate page, prior to the ultimate page, within the same session. Additional hits might come to that ultimate/completion/thankyou page but they will only count as a goal if they went through that last step in the funnel.

      • Deanna Lee

        Thanks for your quick reply. I am not entirely sure I fully understand. I am not that most technical.

        On the penultimate page (my credit card page), I would add a single session cookie (where do I find this code).

        Where would I delete the cookie? How do I rewrite the URL?

        • Sayf Sharif

          GTM would be easiest. You can drop cookies on specific pages really easily, and read them as well.

          Otherwise you should probably get someone more technical to help you. The code to set a cookie is relatively straightforward, as is the code to read it, but both would be easier in GTM. For rewriting the URL, look up virtual pageviews. You can overwrite the pagename, again easily in GTM, and a little more technical in straight GA implementation code.

  • So exactly what’s the difference between goals and funnels?

    • Sayf Sharif

      Goals are the finish line. They’re whether you hit a specific page, or an event fires. They don’t care at all how you got there, just that your’e there. Funnels are how we can look at the steps someone may take along the way to those goals.

  • What’s exact meaning of Funnels?

  • My all the doubts has been clear. Wonderful Guide.

    Thank you Sayf.

  • Diana

    Very good article, Sayf!.

    Here is my questions to you:

    I have created a filter to display the full page path in my reports – Mainly to include the domain name (example.com). Now when creating a Goal funnel, do I need to include exmple.com/thank-you.html in the steps?

    Let me know what you think.



    • RedLeader

      Yes. If you created a filter to show the domain name in the URL, you will need to include that full URL in the Goal if you’re using URL destinations as the conversion.

Contact Us.

Follow Us




We'll get back to you
in ONE business day.
Our Locations
THE FOUNDRY [map] LunaMetrics

24 S. 18th Street
Suite 100

Pittsburgh, PA 15203


4115 N. Ravenswood
Suite 101
Chicago, IL 60613


2100 Manchester Rd.
Building C, Suite 1750
Wheaton, IL 60187