Analytics, Blackbaud, Google

Did Blackbaud finally fix conversion tracking?

For those of you who don’t know, Blackbaud Sphere was historically bad at conversion tracking using Google Analytics. Here was the problem:

User goes to a Sphere-hosted Walk-A-Thon page. User gets specific Analytics code related to that Walk-a-thon. For example, here at Autism Speaks, we use custom variables in Google Analytics to define a Walk specifically. On a page where user is at a Walk. One line in the Google Analytics for that page should look like this:

_gaq.push(['_setCustomVar',1, "Walkers",  "WNFAS2012-WashingtonDC",  3]);

In the past, this was all well and good until a user would get midway through a transaction. Strangely, the Google Analytics code on this page would get switched to something generic that applies to all of the pages.

_gaq.push(['_setCustomVar',1, "Walkers",  "Walk Now for Autism Speaks",  3]);

I didn’t make that change. It was automatically applied by Sphere. This makes it difficult then to segment both pages under the same Walk.

Even worse, the whole funnel was impossible to track because the URLs didn’t sufficiently change with each change of state in the transaction. The first page in a transaction funnel would be called something like donorPledge.asp and then the next page would be called donorBilling.asp but the page after that would ALSO be caused donorBilling.asp. There was no way to write a regular expression to separate the two donorBilling.asp pages because the query strings for the pages were also identical or when not identical were tied to the user’s session so it wasn’t very useful as a way to identify where a user was in the middle of the funnel.

I talked to Blackbaud about this around January of 2011 and the solution they suggested (deleting the generic tracking code in a Walk template) didn’t fix the problem. Ever since then, I’ve had a few people take a look at it and nobody had a solution.

However, I did backtrack today and tried to do a general donation to an Autism Speaks Walk in Washington DC. Lo and behold, the custom variable code was not swapped out. Not only that, the steps were named properly:

  1. donorPledge.asp
  2. donorBilling.asp
  3. donorRecognition.asp
  4. donorConfirmation.asp

It might actually be possible to do a conversion funnel!

I will be tracking this closely of course. I’ll have more information by Monday or Tuesday after I’ve had a few days of data to confirm it.

UPDATE (10/28/2012):

No dice. There’s a page right after donorBilling.asp called checkBilling.asp that shows up for a few seconds and it disappears. I need some documentation from Blackbaud on the set of URLs that actually makes up a full transaction. The checkBilling.asp page just comes out of nowhere and I’m not even sure what Google Analytics code is on it. Even worse, there seems to be a submitReg.asp somewhere in the mix as well.

How relevant was this post to you?
Why did you post this???I do not think this was necessary.Not bad. I will save for later.I really needed to read this!This bit of knowledge will make me look good. (No Ratings Yet)
Loading ... Loading ...

2 Comments

  • On 10.27.12 Jana Eggers said:

    Looking forward to the update!

  • On 10.28.12 Allan Benamer said:

    OK it looks like it's impossible to track a donation. What would be great is if Blackbaud wrote documentation on a donation funnel in the same manner that is done at http://wiki.earlyimpact.com/widgets/integrations/

    There are two .asp pages that are part of the funnel and they're being inserted into the mix without user interaction. I have to say this is fairly sloppy work as it puts two URLs into a transaction that makes it difficult for users to understand if a transaction goes awry.

speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*Required Fields