Discussion  - 
UPDATE 3rd Sept 2013: Many thanks to +Clancy Childs for getting Page Value fixed http://clearclu.es/15oObU8

(although bear in mind Goal Completions still skewed so calculating Page Value via API using raw values will be incorrect). But great to have Page Value back! 

Original discussion below:

Calling all GA experts: I think I've found a bug in GA related to how Goal Completions are assigned to pages where Goals are jQuery/JS events (e.g. clicks on buttons, outbound clicks etc). This inflates both goals and page value. I say think because it's more likely that there is another logical explanation but please bear with me.

The problem
Goal Completions are higher than Unique Pageviews for a given page (spotted this on several websites I have access to and a couple unanswered posts on GA help forum). Usually people report higher Unique Pageviews than Goals, not the other way around.

The trigger (my hypothesis)
Goals (events or virtual pageviews) when defined as click on a button, outbound link or another page element (ie. a great many cases).

The direct impact
Page Value is directly connected to Goal Completions. If Goal Completions numbers are inflated, so is Page Value. Therefore any content-level analysis using Page Value is likely to be inaccurate.

End result (read the rest only if it's of interest)
Inflated Goal Completions: http://clearclu.es/18tBatM
Skewed Page Value: http://clearclu.es/ZBqQ2t

My controlled experiment to test the hypothesis involved:
- Use of test server (ie. no other visitors)
- No profile filters, no custom settings
- Straightforward Goal definition (see here http://clearclu.es/ZBqdG8)
- Setting unique visit-level custom variable to then identify single sessions in reports
- Clearing cookies after every single test visit
- Recording all steps taken with GA debugger
- Using two simple, minimalist pages, Page G and Page H with a single link on both called Button B1. Clicking this triggers an event (also the goal; value = $50). Both pages identical (see complete source code for each here: http://clearclu.es/18tEbdA)

I've manually architected this visit (see here screenshot http://clearclu.es/18tyyMz):

Page G >> Page G >> Page H >> Page G >> Click Button B1

How GA Goal processing logic works:
- Goals are counted only ONCE once per session.
- Any page seen before the goal was reached gets equal credit for the goal. Only once. (ie. if Page G was seen 3 times before the goal, it gets assigned only 1 Goal Completion and $50 value).

Wrong, Page G shows 3 Goal Completions and $150 page value.

What GA shows:
1. Click Button B event was fired only once in my session (see screenshot http://clearclu.es/YoJImH) -- exactly as expected

2. One Goal Completion at session-level (as expected), but 3 goal completions for Page G: http://clearclu.es/18tBatM

3. Skewed Page Value in content reports: http://clearclu.es/ZBqQ2t

Experiment variations I've tried:
- Both Google Tag Manager implementation and directly with GA snippet
- Hard-coded JS code to capture the click as well as jQuery version
- Click captured as event and virtual pageview
- Firefox and Chrome

There is surprisingly little documentation available on how GA processes Goals AFTER hits are sent to their servers and most of it is described in the context of Page Value: http://analytics.blogspot.co.uk/2012/07/understanding-and-using-page-value.html

Your turn
-- Can you find higher Goal Completions than Unique Pageviews in your reports? If yes, how are those Goals defined? Are they user interactions with page elements tracked with JS (e.g. clicks)?

-- Is this a bug? Is this an implementation error (I've triple checked everything)

-- Is there anything I've missed? Glaringly obvious or otherwise?

I've spent a fair bit of time troubleshooting this so I may have stopped seeing the woods for the trees. Feel free to tell me I've completely missed the point.
Damion Brown's profile photoAl Wightman's profile photoCarmen Mardiros's profile photo
Excellent analysis. I have no idea if it's a GA bug or an implementation error, as I'm not familiar with the setup. However I'm not comfortable with thoughts like "it's Google being Google" or "it's javascript being javascript" -- I have a feeling there's more to it than that.

In for responses. 
I've purposely kept the setup as minimalist as possible to isolate the cause and avoid interference (which is why I opted for testing using regular GA snippet on page rather than Google Tag Manager).

All the pages have are the standard GA code, a session level custom var sent along with the page view and the link with onclick attribute. Nothing else. No profile filters or other custom settings.
I am hoping +Caleb Whitmore might offer his thoughts. Came across his input a couple of times on GA help forum when researching the problem.
Hi Carmen,

When you turn off the advanced segment do you still get a skewed page value in the standard all pages report?


No, I haven't tried that. I've conducted many test visits using different sequence of steps, before and after this particular one. If I remove the segment then I get the aggregate numbers for all the visits which may mask the problem.

However I might try deleting the profile and doing a couple of test visits again and see what the numbers look like without the advanced segment.
What does the standard all pages report look like for the same time period?
Here it is http://clearclu.es/108qhJV (although I've experimented with 3 other goals of different kinds -- event and virtual pageviews -- with different values so what you see is the aggregate of that)
I would disagree with that. Ultimately, the Page Value metric is defined and calculated using a mix of hit-level and session-level metrics. 

Mixing hit level dimensions with session level metrics is dangerous if you don't understand what you're looking at (e.g. if you add up all the goals assigned to all pages and say that's your total number of goals).

The issue is not the inflated Goal Completions assigned to a page as that's not an actionable metric anyway. The problem is that this metric is then used to calculate Page Value. And surely if we can't trust the numbers, it's pointless using Page Value in content analysis.

Ultimately, it comes down to a Goal processing issue that I've identified that simply doesn't match what Google themselves say SHOULD happen as per this example:


EDIT: in the post above Page 2 gets assigned 2 goals ($100 and $40). In my case, Page G gets credit for 3 goals even though only one occurred in that session.
Hi Carmen,

I'm in a meeting for the rest of the day so not ignoring you. Would love to hear the resolution. Will definitely follow with interest after my meeting.

Sorry couldn't be more help


Thank you Stephane.

I did consider this (I initially had 2 buttons on the test pages) and assumed the same thing. This last test (see screenshots in post) involved a single click on a single link on Page G. And yet it recorded 3 goal completions.

Another point. In your example all the pdf clicks would also register as 3 (or 5, respectively) events fired in that session (even if links fire events with the same naming convention), correct? My test confirms that the event was fired a single time (see screenshot in post).

Let me know if I'm misunderstood your scenario.

EDIT : your 3 downloads would also register as a single goal in that session, not 3, as the same goal is considered only once per session. 
Stephane, I would be great if you could. If you have a test server you can play with then you can use the source code of pages to test it yourself (I've kept the code at a minimum). Many thanks again for your input. 
Thanks for trying this, Al. Reassures me I've not gone mad!

But it also indicates Page Value cannot be relied on in content analysis.

UPDATE: Many thanks to +Clancy Childs for getting Page Value fixed http://clearclu.es/15oObU8

(although bear in mind Goal Completions still skewed so calculating Page Value via API using raw values will be incorrect). But great to have Page Value back! 
Add a comment...