"Manage what you measure As the manager of a B2B tool selling to the competitive eCommerce industry, you are only as good as the number and quality of your leads. You're flying blind without tracking, so it's time to build a plan.
Upsert Offices – Monday Morning
Up until last week, you didn't need to care much about tracking – you weren't investing heavily in marketing and sales just asked leads where they came from. Now with new funding and a plan to invest in paid ads, you need to get serious about it.
Welcome to Upsert As a marketing manager at a B2B software company targeting the competitive eCommerce industry, you need every advantage to get ahead. So far you've been growing organically with some sales outreach, and from being on the Shopify app store. However you just raised funding and now need to think more seriously about tracking. Priority one is the demo request button on the homepage, featured above. Once you have a tracking plan in place, you can get all stakeholders aligned and minimize the risk that the developers will implement the wrong thing.
Beyond all of the tooling, there is one foundational thing that makes or breaks any data initiative within a company - how you think about what to track, how to track it, and manage it over time. If you get these things wrong, the best tooling in the world won't save you.
With the new funding, we're planning to start spending on paid advertising\nBut we barely have any tracking setup so far\nJust the basic Google Analytics pageviews\nNo event tracking - in fact we aren't even tracking the demo request form\nThat's the priority\nDo you think you could put together a tracking plan?\nThen I can send it to the developers to work their magic
Tracking Plan Data requirements move quickly within a fast-growing organization, and if you have any hope of staying on top of what's being tracked, why and how, you need one central source of truth for tracking. This takes the form of a tracking plan, which can be a simple Excel spreadsheet or Google Sheet. \nIt should list every important tracking event that your organization values, alongside when those events are triggered, and the different properties each of those events. For example when someone signs up, you'll have their name and email, which might need to be passed to your email provider. \nIt's also helpful to show visually where these events take place, as that will (literally) align everyone on the same page, and decrease the chance of mistakes. This is a living document which should get updated every time your tracking needs change. It should be shared across the whole team, so anyone looking at analytics can easily see what each event name refers to, and identify issues, bugs and gaps in tracking.
It helps to think about your tracking plan from the perspective of the user journey. What does the marketing and sales funnel look like? What happens in each stage from first time visitor to long time customer? Thinking of events in terms of the marketing funnel helps ensure you haven't forgotten anything important.
He who fails to plan, is planning to fail.
Minimum viable tracking plan Going from no tracking to some tracking makes the world of difference, so it makes sense to start with something small and build from there.
Upsert office – Later that day
Tracking is a complex topic, so let's not get ahead of ourselves. Let's start with something simple first, just tracking our main marketing funnel. We can use the template from the Reforge article to make something suited to our needs and get started.
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Event Naming Conventions Analytics is a case of garbage in, garbage out. If you don't have a consistent naming convention, you'll struggle to do accurate analysis afterwards, and future team members will struggle even more without your context. \nThe most useful framework I've found for naming is Segment's 'Object-Action'. You list the actual objects that are being acted upon (these can map to actual objects in the code or rows in your database) and then describe the action being taken. So for example it would be `User Sign Up` rather than `Sign Up`. \nYou should also use consistent spacing, spelling and capitalization, as `User Sign Up`, `user sign up`, `User Signup`, `user_sign_up` and `user-sign-up` are all counted as different events.
What would be good names for the event triggered on this page when someone clicks the submit button?
Quick little addition\nCan you make sure you track interactions with the form?\nFor example when someone clicks into a form field\nSo we can see how far down they get?\nIt would give us more visibility into where they're getting stuck and dropping off
If you were tracking interactions with a form field, which property should the name of the form field be used?
Tracking is never done It helps to track form submissions, but what happens after? If we want to track the quality of the leads we're sending, we have to go server-side with our tracking.
Upsert Offices – Two Months Later
It has been a couple of months since you successfully implemented tracking, and the results have been good. However the sales team are complaining that not all of the leads are high quality. How can you track that?
If we have data, let's look at the data.\nIf we have opinions, let's go with mine.
Quality of Sales Leads\nHey,\nAs you may have heard there are rumblings about the quality of the leads we're sending the sales team from our ad campaign.\nWe don't have visibility right now on that part of the funnel - so we're flying blind and can't make a strong case to defend ourselves.\n\nCan you take a look at updating the tracking plan?\n\nThanks,
Server-Side Tracking Tracking events that occur as a user browses your website is fairly straightforward. You add some JavaScript tracking code via a Tag Manager or directly on the website, and it fires whenever that action is completed. However if the action takes place when the user isn't on the website, it needs to occur server-side.\nFor example, if the sales team updates a contact record in your CRM to say that a user has booked a demo, you have no guarantee the user is active on your website. Instead you send a hit to Google Analytics' server to register the event, either via custom code, your tag manager (if it has this capability) or an API service like Zapier.\nIn this case, your server doesn't have access to browser cookies, which are usually used to track the ID of each user. So instead you need to have a way of passing a unique user ID (UUID) that is stored in the CRM alongside the user record. Best practice is to assign that UUID on the user's first visit to the website and store it in a cookie. Then when the user submits their email for a demo request, makes a purchase, or signs up for your product, it comes along for the ride in a hidden field - it's part of the form, but the user can't see it. You would use a similar system to capture the users' marketing source (UTM parameters) and pass that to the CRM as well.
Add another 2 events to the tracking plan: 5. Marked as qualified by sales team, and 6. Books a demo call with sales team. What naming conventions did you use?
Thanks for finishing the tracking plan\nI appreciate you!\nBTW you named it \"FINAL\" - I don't think tracking will ever be done :-)\nThis server side tracking concept has really got the developers excited about what else we can do\nLet's have a brainstorm on new ideas for how tracking can support our leadgen activities
"