{"id":36,"date":"2011-08-04T04:26:04","date_gmt":"2011-08-04T04:26:04","guid":{"rendered":"http:\/\/digitaldatatactics.com\/?p=36"},"modified":"2015-08-22T16:07:14","modified_gmt":"2015-08-22T16:07:14","slug":"form-analysis-pitfalls","status":"publish","type":"post","link":"https:\/\/www.digitaldatatactics.com\/index.php\/2011\/08\/04\/form-analysis-pitfalls\/","title":{"rendered":"Omniture Form Analysis Pitfalls \u2013 How to Avoid and Optimize"},"content":{"rendered":"<p>There is an Omniture plugin, Form Analysis, that will automatically flag which form field a user last touched before abandoning a form. Sounds great, right? <a href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/blog.vkistudios.com\/index.cfm\/2008\/2\/18\/Become-the-Web-Analytics-OFFICE-HERO-with-Omnitures-Site-Catalyst-Form-Analysis-Plugin\">This post<\/a>, which does a great job of going over setting up the plugin, even claims the plugin will make you an office hero! The problem is, this plugin is inherently Evil. And not <a href=\"https:\/\/web.archive.org\/web\/20111126222504\/https:\/\/twitter.com\/#!\/TeamEvilForces\">the good kind<\/a>of evil. We\u2019d like to tell you how to avoid the evil and keep your Form Analysis on the side of Good.<\/p>\n<p>This plugin is\u00a0notorious\u00a0for being implemented incorrectly, and the implications go beyond just one report not working. Since the plugin sends a custom link call (<em>s.tl()<\/em>) each time a user abandons a form, it has the potential to eat up your secondary server calls (which you pay Omniture for). A recent client of mine has accidentally set one extra secondary server call on every single page view since 2008 because of this plugin.\u00a0Sending two server calls (one with the click of a link and one on the load of the next page) so close together has been known to cause problems- every once in a while, the two calls compete and only one makes it through to Omniture, decreasing data accuracy. Worst case scenario, the plugin can actually break your form.<\/p>\n<p>And what bugs me most- and this is in no way the fault of the plugin- is that folks use this as a safety crutch: they know they should optimize forms, so they put effort into setting up form tracking, then pat themselves on the back for \u00a0job well done. But, feeling comfortable that the data is there, they don\u2019t take it to the next step and actually optimize their forms.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-252\" src=\"https:\/\/web.archive.org\/web\/20111126222504im_\/http:\/\/implementalytics.com\/wordpress\/wp-content\/uploads\/2011\/05\/brainsVtools-300x152.jpg\" alt=\"\" width=\"180\" height=\"91\" \/><\/p>\n<p>In this situation, you\u2019d be better off skipping the plugin and go right to the \u201coptimize your form\u201d step by using your God-given intelligence. Use common sense. <a href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/blog.clicktale.com\/2011\/05\/05\/forms-forms-forms\/\">Think like a user: keep forms simple and easy to use<\/a>. Simply running a plugin or tool will do nothing to improve your forms- remember, brains are more important than tools.<\/p>\n<p>Don\u2019t get me wrong, the plugin has much potential to do good. You just have to put some thought into it. Educate yourself on using this plugin and you can get great value out of it. To help you, here are some implementation pitfalls to avoid:<\/p>\n<h3>1. POTENTIAL PROBLEM: TRACKING THE WRONG FORMS<\/h3>\n<p>The configuration of the plugin includes two critical variables:<\/p>\n<p><em>s.formList=\u201d&#8221;<\/em><br \/>\n<em>s.trackFormList=false<\/em><\/p>\n<p>When trackFormList is set to true, it will only track forms specified (using the form\u2019s HTML \u201cname\u201d attribute) in the formList (if formList is blank, then nothing will be tracked). So far so good. When set to false, the plugin will track every form on your site that is NOT specified in the formList. This includes:<\/p>\n<ul>\n<li>User login forms (even if they are on every page)<\/li>\n<li>Some asp.net \u201cforms\u201d that are not actually user forms<\/li>\n<li>Find-a-location-near-you and other single-field forms<\/li>\n<li>CAPCHAs<\/li>\n<li>And, the biggest culprit: <strong>Internal Search forms<\/strong><\/li>\n<\/ul>\n<p>So if a user hits a page with an internal search form field without hitting the search \u201csubmit\u201d button, that\u2019s one server call to Omniture letting you know a \u201cform\u201d was abandoned. <strong>If each page has that internal search field, that\u2019s one server call for every page view on your site.<\/strong> Not only is that information useless to you, it has potentially terrifying billing implications, depending on your contract.<\/p>\n<h3>SOLUTION:<em> S.TRACKFORMLIST=\u201dTRUE\u201d<\/em><\/h3>\n<p>My suggestion? ALWAYS have trackFormList equal to \u201ctrue\u201d. This will require you going through your site and finding the forms that matter most. Focus on one or two key forms on your site. This isn\u2019t just a work-around to get the plugin to work- it\u2019s a great idea for focusing your analysis efforts and avoiding the <a title=\"4 mistakes that will set up an implementation for failure\" href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/blog.implementalytics.com\/2011\/05\/implementation-fails\/\">Data Squirrel<\/a> pitfall.<\/p>\n<h3>2. POTENTIAL PROBLEM: THE PLUGIN RELIES ON YOUR FORMS BEING SET UP \u201cJUST RIGHT\u201d<\/h3>\n<p>If you do not have the \u201cname\u201d attribute in the HTML &lt;form&gt; tag, the plugin won\u2019t work. And if you do have names but they look like \u201cform134\u2033, it probably won\u2019t have much meaning for you in the reports. And if every form on your site has the same name, the report will be useless.\u00a0Same goes for form field\/input names.<br \/>\nOn another note, if your form script references the \u201cthis\u201d object at all, the plugin <a href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/readystate4.com\/2008\/03\/11\/issue-with-omnitures-site-catalyst-form-analysis-plug-in\/\">may break your form<\/a>, or vice versa. Oops. The only way around it is to remove the plugin, or remove the references to \u201cthis\u201d.<\/p>\n<h3>SOLUTION: UPDATE FORM HTML<\/h3>\n<p>I\u2019m afraid there is no quick javascript fix here: if you want to automate form abandonment tracking using this plugin, you may have to manually change the \u201cname\u201d attribute of the HTML forms. BUT, if you are focusing on only your 1-2 key forms, as mentioned above, the changes to your HTML should be minimal.<\/p>\n<h3>3. POTENTIAL PROBLEM: CAN PAINT INACCURATE PICTURE OF WHICH FIELD IS \u201cGUILTIEST\u201d<\/h3>\n<p>The plugin doesn\u2019t tell you which field was the \u201cturn-off\u201d: it tells you the last field touched, which may be counter-intuitive. For example, on the right is what my form looked like when the user abandoned:<\/p>\n<p><a href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/implementalytics.com\/wordpress\/wp-content\/uploads\/2011\/08\/8-2-2011-4-25-01-PM1.jpg\" rel=\"fancybox\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-358 alignleft\" src=\"https:\/\/web.archive.org\/web\/20111126222504im_\/http:\/\/implementalytics.com\/wordpress\/wp-content\/uploads\/2011\/08\/8-2-2011-4-25-01-PM1.jpg\" alt=\"\" width=\"250\" height=\"137\" \/><\/a>Our friend Mal only made it through the 4th field- the one with the name \u201cemail\u201d. The plugin would report this as:<\/p>\n<p><em>pageName:formName:email:abandon<\/em><\/p>\n<p>Which might make one think the \u201cemail\u201d field was to blame for the abandon, when in truth, he filled out that field successfully and was (presumably) \u201cturned off\u201d by the FOLLOWING field, asking for him to confirm his email- he\u2019s much too busy to waste time by entering the same information twice.<\/p>\n<h3>SOLUTION<\/h3>\n<p>One can get around this by 1)educating users of the report on what the data means (which you should be doing anyways) and\/or 2) creating a classification report that says the FOLLOWING field for each item. Either way, please be aware that a report can only give hints- it cannot actually tell you what the user was thinking when they left the form or if they had looked ahead further in the form and were \u201cturned off\u201d by a later field.<a href=\"https:\/\/web.archive.org\/web\/20111126222504\/http:\/\/implementalytics.com\/wordpress\/wp-content\/uploads\/2011\/08\/formangel.jpg\" target=\"_blank\" rel=\"fancybox\"><br \/>\n<\/a><\/p>\n<p>Which brings us back to the idea that your brain is a critical part of making this plugin valuable. If you have a form on your site, now is a great time to optimize it. We\u2019ve removed the roadblocks; what\u2019s stopping you?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is an Omniture plugin, Form Analysis, that will automatically flag which form field a user last touched before abandoning a form. Sounds great, right? This post, which does a great job of going over setting up the plugin, even claims the plugin will make you an office hero! The problem is, this plugin is &#8230; <a title=\"Omniture Form Analysis Pitfalls \u2013 How to Avoid and Optimize\" class=\"read-more\" href=\"https:\/\/www.digitaldatatactics.com\/index.php\/2011\/08\/04\/form-analysis-pitfalls\/\" aria-label=\"Read more about Omniture Form Analysis Pitfalls \u2013 How to Avoid and Optimize\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,17],"tags":[3,13,2],"_links":{"self":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/36"}],"collection":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":1,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":37,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/36\/revisions\/37"}],"wp:attachment":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}