**MOOPs** Episode 12 - Harjot Singh, Head of Marketing Ops at Zip
16 Apr 2022 · 18 min
In this OpsCast interview, Harjot Singh, Head of Marketing Operations at Zip, recounts a costly mistake that occurred while he was at LiveRamp in 2019. To simplify global tracking, his team tokenized Google Tag Manager (GTM) codes across regional landing pages. When adding Bizible (Visible) tracking code via a project‑management request, the double‑quote characters in the JavaScript snippet were unintentionally inverted during copy‑paste, rendering the code ineffective. The error went unnoticed for three months, resulting in a loss of attribution data across multiple regions. Discovery came when Bizible reports diverged from Marketo form‑fill counts. Harjot explains how the team could not recover the missing touchpoints, but they used Marketo UTM fields to back‑fill reporting for the affected period and chose not to create synthetic Bizible touchpoints to keep data clean. He shares two concrete process changes: (1) share code as plain‑text files rather than through rich‑text editors, and (2) embed a dedicated QA step for any tracking changes, possibly leveraging emerging automated QA tools. The conversation expands to cultural insights—owning mistakes, transparent communication, and fostering a team environment where errors are acceptable but not repeated. Harjot concludes with advice to marketers: experiment, expect mistakes, learn quickly, and let those experiences strengthen the team.
Chapters
Hi, I'm Michael Hartman.
I'm Naomi Liu.
And I'm Mike Rizzo. And this is OpsCast, a podcast for marketing ops pros and rev ops pros created by the MoPros, the number one community for marketing operations professionals.
Tune in to each episode as we chat with real professionals to help elevate you and your marketing operations career. Hi everyone, thanks for joining us for another episode. Welcome to another episode of Moops TV. I'm Jessica, and today I'm joined by Harjot. Harjot, why don't you start with some quick introductions? Who are you? Where do you currently work? And how long have you been in the marketing ops space?
Sure. Yeah. My name is Harjot Singh, and I live in the beautiful Bay Area. And I've been in the marketing ops space for almost 10+ years, with my experience from Hitachi, Uber, LiveRamp, and now at my current role at Zip. What I really like about marketing ops is really looking at our customer journeys and evaluating our customer journeys. That's, that's what my passion is.
I love it. It's a great passion. I think sometimes when evaluating tech, people can lose sight of the customer and their journey through the whole process. And I love that that's your area of focus. So we'll get into the specifics of your mistake here in a minute.
But at what point in your career did the mistake we're going to chat about today So this really happened around 2019 when I was at LiveRamp and we were in the midst of optimizing our landing pages and getting our tracking in place. So that's when it happened.
Awesome. So optimizing landing pages could be any number of systems. What systems were you working in? And tell me a little bit more about what it is you were trying to do.
Yeah. So we were, um, as a company, we were expanded, expanding globally into new markets. We were, we were in US, we were in, uh, UK, France, and then, uh, in Australia and India and Singapore. So a couple of countries globally, and we were creating campaigns and launching campaigns in each of these countries. And as part of each campaign requirement, we would have landing pages for our assets. And the challenge there was that each of these regions had their own website and we wanted to keep their landing pages separate too, so that they can be localized for the regional leads and also tracked independently. So if you want to be tracking them independently, you needed separate Google tracking codes to make sure that they are being tracked separately and we can do the reporting cleanly for each of the regions. Right. And that was the whole process of making sure that we can have the right tracking for the landing pages. And all these landing pages were created in Marketo for us.
Hmm.
Yeah.
So what— tell me a little bit more about what specifically broke or what the moves was.
Yeah. So from an optimization point of view, what we were really trying to do was we wanted to move away from having to add a new Google Tag Manager code in each landing page. So we came up with a unique idea of using tokens for our Google Tag Manager. So we would create folders for each of our countries and the campaigns for each of the countries and landing pages would be created under that folder. And the tokens would sit at the folder level. So if We would have just one place where we would add the GTM code for each of the regions, and it'll just trickle down to each of the assets that are created for each of those regions. And we would just tokenize that GTM code in each of the landing pages. And that's it. It was simple. We thought we did it and it was good. That optimization was successful.
That sounds like a really smart way of approaching that problem. Yeah.
We were very proud of what we did there. So really, really optimizing our tracking there. Yeah. But, um, so we really solved for that.
Okay. But something else went wrong, I imagine.
Yeah. Uh, as part of tracking, we, we had different tracking codes, which we were integrating with within Google Tag Manager. We had our Google Analytics code, we had our Marketo Munchkin code. We were using Visible for our attribution. We were using Demandbase, a lot of different tools that had JavaScripts that needed to be placed in Google Tag Manager. And specifically for Bizzable, for what happened with Bizzable was Bizzable tracking code, the best practice and recommendation is to have it outside of Google Tag Manager in head or body so the pages can load faster, but we really didn't see much impact. So we just wanted to move it all together in Google Tag Manager. So that's what we did as part of optimization. And the funny thing was what I really did, and this is where the move spot comes in, is in order to place the Visible Tracking Code as part of Google Tag Manager, I worked with our web team, right? And we opened up a request. As all marketing ops people, we work through project management systems. And I opened a request. I added the code directly in the request as a comment and told my web person to update it, right? And they did update it and that's it. The project was done and we checked everything else. Everything was working, but we did not check if Visible tracking was working because Visible touchpoints take some time to be created. And I, we just didn't spend enough time. And at that time we weren't using Visible holistically as part of our reporting. So That essentially slept through. And the movement really happened 3 months down the line when we started to really look into Bizible, use their channel reporting, because that's where the power came in from. Bizible, we could tell that which are the sources which are driving registrations. You don't really need a pre— you don't need a specific way to track UTMs. So Bizible does that for you. And that's why we started looking into that channel tracking and build that report. And 3 months down the line, when we were building that report, Our marketing manager told us that the Visible report that you've shared with me and the Marketo report that you've shared with me, they don't match. The form fills for these assets don't match. I'm seeing 100 form fills in Marketo and really no form fills in Visible. How that's possible?
Discrepancy of 1 or 2, totally within the realm of possibility, right? Like they don't have tracking pixels enabled on their computer. They've got a pop-up or a plugin blocking all that, but a full— there are none.
Yeah.
Would make my eyes go like this.
Exactly. And that's what really happened. We— it was all mysterious. We started digging back into it, what really the issue is, and we looked at the tracking code. Everything looked good from a naked eye perspective. All the code looked good. It looked good in our project management tool, looked in Prizable, looked in Google Tag Manager. Look, Exactly right. No issues right there. So we raised it to Bizible that this is what's happening. And Bizible came back to us and they found that when we copy-pasted the code from Bizible to Google Tag Manager, somewhere in between we messed up. And to the naked eye, it doesn't seem wrong because when we copy-pasted, What really happened is in JavaScript tracking, you have quotes, right? You have double quotes, open and close, um, double quotes. And when we copy pasted the Visible tracking code from Visible to the editor in our project management tool, for some reason, those double quotes actually got inverted.
Oh no.
And to the visible, to the naked eye, you really can't tell that. And when we copy-pasted that from our project management tool back into Google Tag Manager, that's what the wrong code got copied and was just, just inverse double quotes. And that's just the nature of editors. They format things a little differently. And that's what really happened. Such a silly mistake. It was very, very costly.
It's— everyone is so familiar, I think, or most people who listen to this are relatively familiar with, you know, Marketo email editor and making sure you don't, or any of the And making sure you don't copy and paste out of a Word document that will retain formatting and things like that. But I assume that most people probably don't think about it when it comes to, like, a line of text that is the code and how that may also be impacted by the same thing.
Yeah, exactly. Okay.
So it sounds like at this point, the error has been going on for 3 months. So we have 3 months or so of lost data that we probably can do nothing about, and that the error was found luckily internally, but by a stakeholder who is relying on these reports to make business decisions. What happens kind of at this point? What did you do to remedy and how did you acknowledge the issue to the rest of the team?
Yeah, I think We definitely found the issue. I found myself guilty, and I feel that's that's good. It's good to accept the mistake, and that's where the power is. And we accepted that. We accepted that the mistake was made and shared the whole process and being very transparent. And to remedy it, we really couldn't do anything right because these are all online touch points. What you lose is the referral traffic where it's. coming from, uh, the sources where the leads are coming from. But we sort of had a backup where in Marketo we had UTM fields for UTM source campaign, and we were storing information in that. So we had some level of data and we, uh, to remedy some of the reporting or to backfill some of the reporting, we use Marketo data for that 3-month timeframe to run some of that reporting. We could have created Touchpoints directly invisible as a backfill based on whatever the Marketo form fills happened, but we decided not to just to keep our data clean and reporting clean moving forward. So that's what we did. But I think the biggest lesson for me here was that being transparent with the team, acknowledging your mistake and learning from it was really, really important. So that's it.
Yeah, I definitely feel strongly that taking ownership, it's something that almost everyone that I've had on Everyone on the show has touched on in their own sessions is that a big moment of growth is, you know, taking ownership and not sweeping things under the rug. You also mentioned learning from your mistake, which is the entire reason why we run this show. So tell me a little bit more about what you learned and maybe how you've implemented some personal process changes after your MOOPs.
Yeah. 2 things that I've learned from here is one, which is more tactical, is anytime you want to copy paste any code from one system to another, especially if you want to go through a project management tool, it's acceptable. Use a text editor like Notepad or TextEdit, save that as a text file and then upload and share it. It's much more safer way to share that. The second thing is QA. I think that's what it goes down to, is that we just didn't QA the change. So it's just very, very important to make sure that you QA any changes that happen. And that's something that I've built in my process moving forward. Any changes that you make, having a QA process next to it has been really helpful. There are some technologies that I looked into after that too, that sort of do that QA check for you through an through for your processes as things change. So I think that's, that's really good next step with technologies that are coming up with it.
So yeah, I think I know a number of people who've been guilty of, oh, it was simple, it was a simple change and this thing takes forever to propagate. I know Visible Touchpoints personally, I've found them to be occasionally a little slow, but I think reiterating the importance of QA is always a good learning experience. Also, great tip on attaching the text file. I'm not sure I would have thought of that, but it definitely makes a lot of sense as a safe way to pass that over and ensure that copy and paste errors aren't made. I know I recently was working with my web team on deploying a CNAME entry, and they said the same thing, like, can you send me the file? I don't want to miss a character and totally mess up the CNAME entry or something like that.
Yeah.
Yeah. So final thoughts. What would you say to somebody who has made a similar mistake?
It's okay. That's, that's what I would say, that if you've made that mistake, just learn from it. Just don't make that mistake again. And I think that's, that's a good observation for team culture, too, is that when those mistakes happen, how do you react? How does your team react? How does your team support? That's, that's just a very good way to even sets out the culture of the team too, is that— and I'm going tangential here, but it's very, very important today— is that are you in the right culture? Are mistakes acceptable? And they should be, but they should not be repeated same mistakes, but they should definitely be acceptable. So that's, that's what I would say. It's okay.
I love you talking about it from the perspective of the team culture. I know as a hiring manager, I often ask candidates to tell me about a mistake they've made. One, to talk about learnings and 2, to express that they have been able to learn from those. But I think as a candidate, the next time I'm in the candidate role, I'm curious to ask kind of the inverse. Tell me about a time somebody on your team or recent times, somebody on your team made a mistake and how that was approached and how you handled it.
Exactly.
I think it says so much about the culture. And I'm going to start asking that if I'm the next time I'm looking for opportunities.
I did exactly that. And that was very enlightening for me.
I love that. Yeah. I think that's such a good question. I've gotten a— I've seen one or two people, or I've heard one or two people say, oh, I've never made a mistake. And I was like, hmm. And I think similarly, if a team is, oh, no one on our team makes mistakes, I would be— that would definitely give me some pause as a candidate.
Exactly. Right. What other advice do you have for fellow marketing Yeah, I'm just going to go back to mistakes and I'm just going to just hype on that is that mistakes happen. They were built to make us stronger and better. That's their whole purpose. So don't shy away from trying something new. In our case, we were trying to be creative by having a more tokenized approach for tracking. It was a new creative way to do it and we were successful, but we made mistakes. We learned from it. But if we haven't tried a new way, we might not have made these mistakes. So make mistakes. That's really the key takeaway. And try something new. And I just end up with— I just want to end up with this song that's in my head by Kelly Clarkson is, what doesn't kill you makes you stronger. And I'll appreciate Jessica if you sing along with me.
I don't think our listeners would appreciate hearing my singing voice.
Neither would they appreciate mine, but I think let's do it together.
Okay, I'm in.
1, 2, 3.
What doesn't kill you makes you stronger. That's such a good piece of advice. I think, you know, all across the board, the smartest people I know in this space have learned from mistakes they've made, and it becomes when they're trying new creative and innovative approaches to things. And if you aren't making the occasional mistake, you're probably not pushing the limits of your own professional creativity. Yes.
Yes, that's perfect.
Any last words of wisdom or anything else you want to share with the audience?
I think that's it. I think we shared, and it was just great to share this mistake. It's just, it's just always been learning with all the mistakes.
Well, thank you so much for your time, and thanks everyone for joining us for another episode.
Yeah, likewise. Thank you.
More from Mike


The Missing Layer Between Strategy and Execution in Marketing with Charral Izhiman



