Formstack online form builder that also integrates with Google Analytics to track form conversions

We've had a few clients now that were looking for an easy online form builder that also lets you integrate with Google Analytics to track your form conversions and and I think we've finally found one in Formstack.

There seems to be quite a few of these tools out there but the main problem with most of them is the fact that although they provided a simple user interface to build forms without any HTML knowledge they don't allow you to add custom code to your form pages which prevents people from adding the necessary Google tracking scripts. At best you might be able to track that a form was started but not if it was actually finished so there's no way to track actual leads or calculate a form conversion rate (and that's probably crucial for most forms).

Anyway, have a look at Formstack, it's an easy to use tool that lets you build all sorts of online forms from contact forms over surveys to order forms and integrate them with a wide range of other platforms such as SalesForce, Highrise, FreshBooks, Mailchimp and Paypal.

Enhance Google Analytics with Super Cookies

Google Analytics mechanics are quite different to Omniture Stie Catalyst, for Google Analytics many of the calculations such as pages per visit, first visit, last visit, etc are stored in cookies, they are not calculated on the server side. Additionally the visitor ID is not necessarily the same for a given user, it isn't used to tie information together, instead Google Analytics relies on your cookies telling the truth. The problem is that cookies inherently only ever tell partial truths, the attrition rates are huge, so how can you trust this information? The answer is you can to a point, but be aware of what you're looking at, because its far from perfect. If you want to make it more accurate, then use super cookies. This post is aimed to touch on several of these areas where we think flash can add major value to existing Google Analytics solutions. We've already covered the super cookie technology in a previous post, so we won't dwell on the basics, if you need some more background please read the previous post:

Examples of Super Cookie additions to Google Analytics deployments
  1. Flash based persistent cookies work across multiple domains and multiple browsers - Use super cookies to re-set targeting and other custom variables across your network of domains, in any browser.
  2. Cookie deletion measurements - Find out how often do your existing users delete their standard cookies?
  3. Browser switching measurements - Do your users switch between multiple browsers? How does this affect your analytics?
 
Which browser? Who cares!!!
1. Super persistant cookies
For those wanting to get better accuracy from google analytics, or if you're using the Google Analyitcs custom variables for targeting and reporting, this is for you. 
Persisting the profile - In order to keep the rich information on your users no matter whether they delete cookies or switch browsers, you have two main options:

a) Respawn their past GA cookies before loading GA - All their profile information is associated with their visitor ID. By reseting this to it's original value (stored either prior to cookie deletion, or from a previous browser), their profile remains intact. This method can also help you to keep more realistic figures on unique visitors as long as you can replace the visitor ID prior to sending any requests to Google. Although this gives the smoothest operation, the privacy issues are obvious and must be addressed. 
b) Keep a copy of targeting parameters in a super cookie - If you detect a cookie deletion, resend the the parameters to Google Analytics so they can be re-bind them to the new visitor ID. This is a little more privacy friendly, as you're allowing the user to remove association to a specific ID, but their profile remains. You no longer know who they are, but you still know a little about them to help serve them better.

2. Cookie Deletion Measurements
If you grapple with privacy concerns but are still desperate to know how many of your users delete their cookies, then you can use this method to find out without fear of privacy invasion. This technique is useful for adjusting data inaccuracies caused by cookie deletion. 

Super cookies remain after users delete their standard cookies. Because flash cookies are not currently dealt with by browser settings (Chrome has some functionality), or understood by consumers, they are rarely deleted (assume this will increase in the future). By comparing the super cookie value to the standard cookie value, you can quickly tell if a previous value existed and has since been deleted. The high level logic is found below (note: this over-simplistic and does not allow for browser switching, see section 3!). The following pseudo code would actually be done in JavaScript:

IF standardCookie(a) is not equal to superCookie(a) AND superCookie(a) is not null THEN
{
LOAD GA CODE
Set custom variable to indicate a cookie deletion
SEND GOOGLE REQUEST
} ELSE {
LOAD GA CODE
SEND GOOGLE REQUEST
}

The above logic would enable you to see several things including:

a) The total number of cookie deletions (using the prop or event)
b) Conversion rates of users who have deleted their cookies vs those that haven't (using the custom variable). Note: This is particularly useful for Targeting, where profiling enhances conversion. You can directly measure the uplift of normal users compared to users post cookie deletion.

3. Browser Switching Measurements
Many people now use multiple internet browsers for a variety of reasons, evaluation, different features, old bookmarks and probably most importantly, technical issues. The problem for analysts is that traditional cookies are browser specific, so each browser appears as a different user. Super cookies can quantify this issue. Super cookies provide the capability to keep a cross browser profile that remains even if a user uninstalls a specific browser and switches to a completely new one, but for the purposes of the exercise we are only looking to quantify the issue.

To create this capability the following logic can be used. Again this would be written in JavaScript. 
IF current browser is not equal to superCookie(browser) THEN
{
LOAD GA CODE
set custom variable "browser A > browser B"
SEND GOOGLE REQUEST
set superCookie(browser) = "browser B"
} ELSE {
LOAD GA CODE
SEND GOOGLE REQUEST
}

The above logic would enable you to see:

a) Which browsers people are switching from/to. This can help you plan future testing resource allocations, etc.
b) Which pages browser switches are commonly associated with (above logic does not show a direct correlation to a specific page, but you can store the final session page in the super cookie and use that to see if the user has made a browser switch on the same page, which may indicate a browser issue).
c) How many browser switches have occurred (set the variable to be page specific)
d) How many users use multiple browsers (if you keep a common visitor ID across multiple browsers)

Hopefully this article has helped to show you how super cookies can be used to improve your Google Analytics deployment accuracy. For actual code examples, please see our original super cookie post or download the zip file below. For any questions or enquiries, please contact us at insights@datalicious.com

 

 

Use Google Analytics custom variables and simple JavaScript to target site content in real-time

I was reading this on another blog earlier today and thought it was worth passing on. In essence Google Analytics have provided a function to read the custom variables for targeting purposes. Although this is essentially nothing more than being able to read a cookie and use it to segment and target page content, it's nice to be able to use the same variables used by Analytics, as the targeting immediately has context in reports.
 
If you already use the custom variables (index 1-5), you can now use the following function to read the value and switch out content using some simple JavaScript.
 
_getVisitorCustomVar()
 
_getVisitorCustomVar(index)
 
Returns the visitor level custom variable assigned for the specified index.
 
pageTracker._getVisitorCustomVar(1); 
 
Parameters
 
Int index The index of the visitor level custom variable.
 
Returns
 
String The value of the visitor level custom variable. Returns undefined if unable to retrieve the variable for the specified index.
 
Read the original blog post from Michael Whitaker here or check out the code reference in Google's help section if you want to find out more.

Super Cookies example code using Flash local storage

What are Super Cookies?
Super cookies are a relatively new method of storing user information locally for usage in web applications. Users will be familiar with standard web cookies, which are used to store anything from session ID's through to personal information and usage information. Their downsides are many, mainly that they get deleted all the time, or are simply rejected based on the users privacy settings. Along with straight up rejection, cookies are also browser specific. If you're like me and switch from chrome to firefox to safari on a regular basis, then analysts are out of luck, each browser appears in reports as a different user. Just to compound those issues a little more, cookies are domain specific. With the exception of third party cookies (set on another domain), which are largely rejected these days, all cookies are stored under the domain the visitor is visiting. This is also the only domain that can access those cookies, which means sites or networks spanning multiple domains have major issues trying to pass information as users hop domains. 
Enter the Super Cookie...
Imagine you can set a cookie that is available across multiple domains and multiple browsers, with a high acceptance rate and a dramatically lower deletion rate. You can! Here are some of the advantages:
  • Flash cookies use the Flash local storage object (LSO), which is common to all browsers. 
  • Flash cookies are set on the domain the flash file was served from, so by serving from a common location, the cookies are available to multiple domains.
  • Flash has a 99% penetration rate (according to them - http://www.adobe.com/products/player_census/flashplayer/)
  • The cookie size limitations are far less restrictive than standard cookies.
  • Flash content is largely not controlled by browser privacy settings (yet). So the deletion rates are minimal compared to standard cookies
  • Flash can be used to back up standard cookies so they can be regenerated 

How to install?
We've created a very simple integration that essentially provides the ability to read and write cookies with just a few lines of code to be cut and paste, see below. For full details, please see the attached zip file with code and fully documented examples.
 
Essentially there are 3 steps:
1. Add the js and swf files to your server (see "Datalicious Super Cookie.zip" file)
2. Cut and paste the following code on your page
 
<script type="text/javascript" src="supercookie.js"></script>
<script type="text/javascript">
function dtFlashCookieLoaded(){
// Function triggers when the flash loading is complete. At this point you can read and write the super cookies. 
}
</script>
 
3. Once you have added the files and put the code on page, cookies can be read/written using two very simple javascript functions, as follows:
setSuperCookie(name,value);
getSuperCookie(name);
 
The dtFlashCookieLoaded() function is executed once the flash has loaded. If you have code depending on the flash read/write, you can put it inside this function or alternatively you can use this to set a flag to indicate that the flash object can now be accessed.
 
Custom Implementations
Datalicious provides consulting on web analytics, business intelligence and strategy. Feel free to contact us with any enquiries at insights@datalicious.com
 
 
Privacy controls
Lots of people are not happy about super cookies, the privacy concerns are obvious. In some ways i can support this notion, but as a web analyst i also see the benefits passed on to consumers by the better understanding of customers, and they are huge. We encourage businesses to be open and transparent about privacy. If you are concerned about privacy, please see the following Wikipedia article http://en.wikipedia.org/wiki/Local_Shared_Object
 

 

Click here to download:
Datalicious_Super_Cookie.zip (9 KB)

Another blow for web analytics: Google Analytics opt-out browser plug-ins now available in beta

It's been announced for a while but now it's actually possible, Google Analytics has just released the beta browser plug-ins that will make it possible for people to opt-out of Google Analytics tracking.  
The opt-out provides users with a choice of whether information about website visits is collected by Google Analytics. The add-on stops data from being sent from your computer when you visit websites that use Google Analytics Javascript (ga.js) to track usage. The beta version of the opt-out that we are releasing today is available for Internet Explorer, Firefox, and Chrome.
Read the official blog post here (and download the plug-in if you must, argh).
http://analytics.blogspot.com/2010/05/greater-choice-and-transparency-for.html
 
Or check out our earlier posts on privacy including how to track visitors without cookies.

Datalicious is now officially a Google Analytics Certified Partner (previously Authorised Consultant)

Although we've been working with Google Analytics for years, we're excited to announce that Datalicious is now officially a Google Analytics Certified Partner.

According to Google (and we agree) "working with Google's worldwide network of Certified Partners specializing in Google Analytics, Website Optimizer and Urchin Software is one of the most cost-effective investments you can make. Certified Partners are carefully vetted by Google and meet rigorous qualification standards."

Read our earlier blog post for more information on our Google Analytics services or visit the official Google Analytics partner site.

Implement Google Analytics server side without JavaScript to track RSS and XML based content

If you've ever been frustrated at the need for developers to add javascript tracking code, or you simply want to track pages like RSS and mobile pages where javascript is not allowed, then the following solution is for you.

We've done several server side solutions like this, such as the integration of phone calls into Google Analytics directly from the phone routing server (stay tuned for more!). I was reading through some articles researching and i came across an elegant post that i thought i should share:

http://www.vdgraaf.info/google-analytics-without-javascript.html

The PHP code to fake the image request for Google is as follows (also found at http://www.vdgraaf.info/wp-content/uploads/tracker.txt), although a similar technique can be used for Omniture or other platforms. This post is pretty old, but the code should still be fine, the principle is definitely still ok! 

Oh and this is also useful if you want to add other information to your Analytics, but you want to keep it from prying eyes! If you find this post useful, you may also want to check out one of our posts on network packet sniffing, which is becoming a serious alternative to javascript page tagging. See http://blog.datalicious.com/atomic-labs-pion-implementing-omniture-withou 

 

For more help with these types of integrations, contact us at insights@datalicious.com. 

<?php
$var_utmac='UA-000000-1'; //enter the new urchin code
$var_utmhn='yourdomain.com'; //enter your domain
$var_utmn=rand(1000000000,9999999999); //random request number
$var_cookie=rand(10000000,99999999); //random cookie number
$var_random=rand(1000000000,2147483647); //number under 2147483647
$var_today=time(); //today
$var_referer=$_SERVER['HTTP_REFERER']; //referer url

$var_uservar='-'; //enter your own user defined variable
$var_utmp='tracker/'.$_GET['url'].'.'.$_GET['filetype']; //this example adds a fake file request to the (fake) tracker directory (the image/pdf filename).

$urchinUrl='http://www.google-analytics.com/__utm.gif?utmwv=1&utmn='.$var_utmn.'&utmsr=-&utmsc=-&utmul=-&utmje=0&utmfl=-&utmdt=-&utmhn='.$var_utmhn.'&utmr='.$var_referer.'&utmp='.$var_utmp.'&utmac='.$var_utmac.'&utmcc=__utma%3D'.$var_cookie.'.'.$var_random.'.'.$var_today.'.'.$var_today.'.'.$var_today.'.2%3B%2B__utmb%3D'.$var_cookie.'%3B%2B__utmc%3D'.$var_cookie.'%3B%2B__utmz%3D'.$var_cookie.'.'.$var_today.'.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D'.$var_cookie.'.'.$var_uservar.'%3B';
 
$handle = fopen ($urchinUrl, "r");
$test = fgets($handle);
fclose($handle);

switch ($_GET['filetype']){
	case 'jpg':
	header('Content-Type: image/jpeg');
	break;
	case 'gif':
	header('Content-type: image/gif');
	break;
	case 'pdf':
	header('Content-type: application/pdf');
	break;
	// add your own content types where needed
}

$imageurl = fopen ('http://www.yourdomain.com/'.$_GET['url'].'.'.$_GET['filetype'], "r"); //this is where the real file should be located
while (!feof ($imageurl)) {
	$image = fgets($imageurl, 4096);
	echo $image;
}
fclose($imageurl);
?>

 

Jet Interactive and Datalicious importing call data into Google Analytics for 360 campaign performance

Jet Interactive and Datalicious are excited to officially announce a new integration that makes call data available in Google Analytics.

Marketers are now able to get a full 360 degree view of their campaign performance across online and offline responses from one location using the familiar Google Analytics interface (see screen shot below). 

Similar to allocating unique click-through URLs for campaign tracking online, companies should allocate unique phone numbers as calls to action to specific media channels if they're not doing so already. However, instead of manual Excel reports marketers can now use Google Analytics to monitor online and offline campaign responses in almost real-time.

Visit the Jet Interactive website for more information or email us at insights@datalicious.com if you would like to find out how to enable this integration for your Google Analytics account or another other web analytics platform such as Omniture.

(download)

How to add an 'email this post' link including Google Analytics tracking to your Posterous blog

Social media buzz or not, email is still the most frequently used tool to share interesting things with your network so why not make it as easy as possible for them?

Would you like to add an 'email this post' link with Google Analytics tracking to your Posterous blog similar to the below (Thanks @ianlyons, for prompting us to write again)?

The email would like similar to the below once people click on the above 'email this post' link, as you can see the email is ready to be send including perma link to the post and Google Analytics tracking parameters.

1. Ok, first you need to generate a URL with Google Analytics tracking parameters so any clicks are picked-up and recorded. Skip this step if you don't want to track responses from forwarded emails. 

To generate your URL go to the below page and fill in the form as shown as shown, generate the URL and copy it.

Campaign Source: email-post
Campaign Medium: email
Campaign Name: email-post

The tracking URL should look similar to the below depending on how much you changed the above form text.

http://www.domain.com/?utm_source=email-post&utm_medium=email&utm_campaign=email-post

2. Now you need to prepare the custom mailto link code that you can insert into your custom Posterous theme including the appended Google Analytics tracking parameters. To do that go to the below site, fill in the form as shown, generate the mailto URL and copy it.

To: AAA
Subject: BBBTitleCCC
Body: I thought you might find this post interesting.
DDDPermalinkEEE?utm_source=email-post&utm_medium=email&utm_campaign=email-post

Make sure you add the Google Analytics tracking parameters highlighted above to the body text behind the 'DDDPermalinkEEE' part.

The mailto URL should look similar to the below depending on how much you changed the above form text.


3. Also, before we can insert the code into the Posterous theme we need to first clean it up a little and turn it into an actual link.

A) Completely remove the 'AAA' in the above URL.
B) Change the 'BBB' to '{' and the 'CCC' to '}'.
C) Change the 'DDD' to '{' and the 'EEE' to '}'.

Please make sure you only replace and remove exactly what I highlighted above otherwise the code may break. Once done the code should look similar to the below.


D) Finally wrap the encoded URL into an actual HTML link tag. Once done the final code should look similar to the below.

4. Ok, you're ready to insert the code into your custom Posterous theme. For more information on how to install a custom theme visit the below page.

To have the link appear in the same position as on our blog copy and paste the HTML link code into the following position.

Tying offline sales from retail stores and call centers back to the online campaigns driving them

Have you ever wondered how many of the offline sales that happen in your retail chain or call centers are actually driven by online campaigns and research activity on your website? Would you like to know the true value that your online media spend is driving including offline conversions?

The graph below shows how companies could use email receipts sent out to customers after conversion events across all channels to tie at least a small sample of offline conversions back to online campaign and research behavior. By sending out email receipts and providing incentives for customers to open and click on the emails it would be possible to trigger virtual online order confirmation pages similar to the standard online confirmation pages. 

The standard cookie based campaign tracking mechanisms of any web analytics package such as Omniture and Google Analytics can then take over and do their normal job and help tie the virtual sales events back to visitors and campaigns.

Email us at insights@datalicious.com if you would like to find out more or need some help implementing the below for your company.