A small number of typos have come to my attention with the 3rd edition – four so far. These will be corrected in the next re-print (due end of May). However I wanted to list them here for people to be aware of. Please let me know (by adding a comment here) if you find others.

  • Ch 7, page 254 – Figure 7.15

Figure 7.15 illustrates a hostname differentiation filter. The “Field B” and “Output To” have no option selected, and only show a dash -. They should instead read “Request URI”. Replacement image shown below.

With thanks to Eric Erlebacher of befoundonline.com for pointing this out.

Replacement Figure 7.15. Click for full size.

Click for full size


  • Ch 8, page 298 – Excluding labeled visitors

On page 298 I refer to the value (label) of “Dynamic IP”. But in Figure 8.15 I show the Filter Pattern as “dynamic” only. The filter pattern should be “Dynamic IP”. [ FYI - Using only dynamic will still work as the filters work by apply a regex match. ]

With thanks to Joe Seidler of seidler.com for pointing this out.


  • Ch 8, page 309 – Segmenting Social Network Visits

On page 309 Figure 8.28 shows the Medium containing “social media”. But in the paragraph under the figure I state the medium is set to “social network”. These should of course match (you can chose any preferred text). For clarity, the text will be changed to “social media”.

Again thanks to Joe Seidler of seidler.com for pointing this out.


  • Ch 9, page 341 – Differentiating PPC Network Partners

On page 341 for Differentiating PPC Network Partners, step 1 references “Custom Field 1″, but the image examples show “Custom Field 2″ being used. In fact, the name of the custom field is not important – you just need to select one of them (two to choose from). That said, I want it to be as clear as possible in the book. I have therefore revised the images for Figure 9.20 below.

With thanks to Steve Grush of nylontechnology.com for pointing this out.

Replacement Figures 9.20a and b. Click for full size.

Replacement Figure 9.20a. Click for full size.  Replacement Figure 9.20b. Click for full size.


**Updated: 23-May-2012

  • Ch 6, page 176 – Back Up: Keeping a local copy of your data

In the GATC code of this page, an extra underscore character has crept in at the end of the second line. This should be removed. So the corrected line is:

var _gaq = _gaq || [];


With thanks to Cloga Chen (China) for pointing this out.


  • Ch 7, page 221 – What to do when a third-party does not allow tracking

In the Track the Purchaser’s Intent section, the onClick code is incorrect. The correct code is:

<a href="https://www.secure-site.com/?store=parameters onclick="> Continue to Purchase</a>

With thanks to Cloga Chen (China) for pointing this out.


  • Ch 10, page 372/3 – Benchmark Considerations

At the bottom of the page I provide a variety of ways calculating e-commerce conversion rates:

The number of conversions × total number of visits to the website
The number of conversions × total number of visitors to the website
The number of conversions × total number of visits that add to cart
The number of conversions × total number of visitors who add to cart

These should use / (i.e. divied by) not × (multiplied by)…!

Again many thanks to Cloga Chen (China) for his eagle eyes spotting this.


  • Ch 9, page 336 – Tracking Error Pages and Broken Links

The code to track error pages via a virtual URL contains an extra unwanted single quote. Remove the last single quote. For example:

_gaq.push(['_trackPageview','/error 404/'+document.location.pathname+document.location.search]);

Thanks to Bamon Bello (Thailand) for bringing this to my attention via the LinkedIn Group.