I was discussing about the skills required in digital analytics with David Iwanow, consultant at amnesia Razorfish in Australia. David, being on the marketing & business side of things, he inquired about ways to filter candidates for a very technical position of implementation specialist for Google Analytics.
Here’s how I would do it if I wanted a really good Google Analytics implementation specialist.
There are two schools of thought: Joe Hall at Marketing Pilgrim says “Don’t Waste Your Time Learning To Code” while Michael Jaconi explains “Why one company is making all its employees learn how to code” at VentureBeat. See my take at the end!
Anyone can pretend to be a hero
While vendors claim you can easily copy & paste of a couple of JavaScript lines on every page, anyone who has done advanced implementations knows this is false. Can anybody create a free Google Analytics account and copy the classic tracking code – after all, understanding HTML and basic Javascipt is easy, right? Or is it? Really?
Either you get it… or you don’t
We are not seeking the usual junior or occasional developer – we are seeking a real super hero who gets it; someone who fully masters the ins & outs of JavaScript and already have a certain level of Google Analytics implementation experience. The following can serve as an example for those on the technical side who wonders if they have what it takes!
Step 0: Here, we take for granted the usual HR filtering has been done and there is a good personality and cultural fit, soft skills such as listening abilities, problem solving, and communication have been validated. We are going deep on the technical side.
Step 1: A real super hero is always ready to jump straight into action. When seeking a very good implementation specialist, look for web development skills along the lines of:
- JavaScript programming;
- Knowledge of DOM (Document Object Model), jQuery or other libraries;
- Adobe Flash/Flex programming – as appropriate;
More specifically, we want to test knowledge of how Google Analytics tags work. Ask the candidate to explain what this code does:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9999999-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
This should cover:
- Understanding of GA basic call structure:
- What is an account and a web property (the UA)? You want someone who don’t blindly put tags on a page – but also understand how this code will impact the tool.
- How the page is going to be tracked? This is also a good opportunity to ask about other types of Google Analytics calls like events, social, custom variables, cross domain, etc.
- Understanding what is _gaq
- What is _gaq? This should cover JavaScript concepts such as FIFO (First-in/First-out) array where we push() Google Analytics calls;
- Is there a way to do a single _gaq.push() instead of two? (hint: yes!)
- Understanding Google Analytics async concept:
- What does it implies in terms of performance impact? Does it matter if the code is at the top or bottom of the page?
- Why is there http & https in there?
- What does the createElement, getElementsByTagName and insertBefore do here? Those are all standard DOM (Document Object Model) JavaScript calls.
Step 2: Is your pretending hero still with you or ran away screaming? The 2nd test level is more holistic and will stump all but those who really have the right profile. Ideally, you want to give them a specific page that includes jQuery but no GA tags. Ask them a) what they would track and b) how they would do it (the actual code).
The page elements you want to cover might be:
- Page tracking: What is the GA call to do page tracking? (Covered from Step 1 above)
- Social interactions: How are social media interactions being tracked? You can put addThis, shareThis or similar on your test page.
- Cross domain & outbound links: Include a checkout link to a shopping cart hosted on another domain (should identify cross domain issues) or at least a link to a 3rd party shopping cart like Paypal which should be tracked as an outbound link virtual page view or event.
- Internal promotions: You could also specify there’s click on an internal promo-banner you want to track (an event).
- Events and custom variables: You want to track user logins – a simple page view on the logged in page, an onclick event on the “login” button or link, something else?
Limit the time to about 30 minutes, but allow them to use the web and if you can, record the session. Alternatively, simply discuss those points and see how the candidate is able to answer.
Step 3: Other discussion points might involve the following – they are aimed at having an open discussion and evaluate the candidate ability to communicate effectively, do problem solving and ultimately, admit what they know… or don’t know:
- Even if you don’t have a fully working ecommerce demo with a “thank you” page, ask the candidate about what should be tracked from an ecommerce perspective and conversely, the challenge of tracking 3rd party ecommerce conversions (Paypal or others).
- How does internal promo differs from tracking inbound campaigns? Is it good to use regular campaign parameters for internal promotions? (hint: no! this will screw up your campaigns data!)
- Suggest using the login username (suppose it’s an email) and storing it in a custom variable. Ideally, the candidate should have already mentioned the possibility of storing the user id in a custom variable for back-office integration. It’s a good opportunity to touch on privacy – the candidate should clearly explain why storing the email in a custom var would be bad (hint: compliancy to GA TOS, DAA code of ethic, and overall bad practice!)
- Ask something that is impossible and see how the person react. Here’s my story:
Several years ago, during an interview I was asked how to find the missing ball from a Bingo cage. I don’t think there are many ways… retrieve balls one by one, sort them, and you get the missing one. Right? Do you see any other ways? I didn’t… until*…
All super hero stories have a moral
You don’t want a robot spitting out fancy JavaScript code from the darkest corner of the office.
Human skills trump any technical ones.
Ultimately:
- look how the candidate reacts to more difficult questions or things he/she doesn’t know;
- the candidate should ask questions and not take everything for granted – look for communication skills;
- be aware of problem solving skills – a good developer is a problem solver, someone who is creative enough to find solutions and not merely use Google to search canned answers, such as I highlighted in “Undermining our future as web analysts”.
My take: should everyone be a coder?
I get the nerve when I hear non-technical people underestimating the true skills required to do proper analytics implementations. Too often, I see sites that have been tagged by people who lacked understanding of advanced implementation techniques, unknowingly putting the organization at risk of taking disastrous decisions based on bad data.
Marketers can learn HTML and basic JavaScript relatively easily – just as developers can develop their marketing skills. However, I don’t believe you can easily master both ends of the spectrum. Knowing a little can make more harm than good – if it’s to ease communication, I’m all for it – if it is to pretend being able to make one’s job – I think it’s a recipe for disaster.
* Facing the insistence of my interviewer, it suddenly struck me: “well… I’ll ask the person who took the ball!”