MARKETING
The Optimizely Podcast – episode 26: digital evolution in a climate of rapid change

Transcript:
Laura Dolan:
Hello everyone. And welcome to the Optimizely Podcast. I am Laura Dolan, your host, and today we are joined by Dom Graveson, who’s the director of strategy and experience at Netcel and Deane Barker, who is the global director of content management here at Optimizely. How’s it going, gentlemen?
Dom Graveson:
Yeah, very good, thank you. How are you?
Laura Dolan:
Doing well, doing well. How about you Deane? How’s it going?
Deane Barker:
Good, Laura. I’m a veteran of this podcast by now.
Laura Dolan:
You are. You are, Deane. So we already know all about you. So Dom, please, let’s start off by telling us a little bit about your background and your history of Netcel.
Dom Graveson:
Yeah, sure. So I’ve been with Netcel for coming up for four years. Netcel are a digital product and experience development company, so we build everything from kind of websites through to integration with CRM, marcoms, basically building digital experiences on the Optimizely platform.
Dom Graveson:
We do a lot of work with kind of experience research and data, so we kind of put customers at the center of all the work we do, but also, we understand that there’s quite a profound impact on businesses. So when you are really going to deliver transformational digital experiences and really up your digital game, particularly in the current climate and the world that everything’s changed so much recently, you are going to need to change your organization and the way that you govern, the way that you manage people, so we do a lot of work with our clients, kind of helping them through that process as well, the kind of change process.
Dom Graveson:
Previous to that, I was with some of the big sort of consultancies working on digital product innovation. I worked around all over the world. So yeah, I kind of bring a few years of experience and broad experience to this.
Laura Dolan:
Very good. Can you speak on some of the digital experience that you’ve worked on with Optimizely?
Dom Graveson:
Yeah, so we’ve built products, digital experiences for some of the major not-for-profit organizations in the U.K. So we mainly work in the U.K., U.K. Based, based just North of London. We’re working currently with a large agricultural organization that represents Britain’s farmers around building kind of digital experiences and business-to-business commerce systems with them. So, yeah, then we also work with quite a lot of well-known financial services businesses in the U.K. As well. So our kind of focus has been membership organizations, business-to-business, and financial services with bits of NFP, not-for-profit, as well.
Laura Dolan:
Very cool. Thank you so much for spending a little bit of time on that. I always like to know our relationship with partners, so it’s nice to have that visibility. So today we are talking about the digital evolution in a climate of very rapid change. So what do we mean by digital evolution as opposed to the more traditional concept of digital transformation?
Dom Graveson:
Well, I mean, it’s been something I think that’s been emerging for a while, but for the last kind of 15 years or so, or 20 years since digital really kind of took hold as it were and became a kind of serious channel that organizations were taken seriously, it always seemed that the focus was on getting from A to B or getting from where we are now to a level of competence and capability, which we can define at the beginning of the project.
Dom Graveson:
And I think over the last few years, or over that time really, we’ve seen that become less and less of an appropriate or working approach. And what we are trying to encourage now, and what we are building within the businesses that we work with is this approach to digital, which is more of an evolution rather than the transformation. Because if you’re working across a three-year program, what you define as being the destination now, certainly in the last few years, probably isn’t going to be relevant or fit for purpose within three years of you delivering it, and a lot of IT and digital projects fail to meet their objectives because of this exact approach.
Dom Graveson:
So it’s about kind of structuring your programs in a way that keeps an open mind, a beginner’s mind, and has the instruments within it, and governance within it, and structure that will enable you to discover as you go and focus on outcomes or customer outcomes, business outcomes, rather than thinking too much about kind of architecting the house before you start building, when you don’t know where you’re building it yet, if that makes sense.
Laura Dolan:
Absolutely. Deane, is there anything you can contribute to this as well?
Deane Barker:
So Dom and I did an event together in London at the very top of The Gherkin and we had a long conversation up there. We had a panel discussion up there. We had a long conversation about the fact that digital transformation is maybe a term that we need to retire, replace it with digital evolution, or digital progress, or digital incrementalism. And it’s just the general idea that you make your way over time. You make little bets, and you improve your digital estate piece by piece. I think that too many people are doing too much at one time and digital projects are failing for that reason, whereas they’re not being more deliberate about their goals and they’re not giving themselves room to evolve organically, make one step and see where that leads them, and then make another step and see where that leads them. And I think the goal of instant complete transformational overhaul is maybe unrealistic for a lot of digital teams. So that was the conversation that Dom and I had, which kind of led us the idea of digital evolution. So that’s kind of the perspective we’re coming on.
Dom Graveson:
Yeah. I think also what’s interesting with that is the idea that as Deane was saying that if you’re doing more than one thing at once and something works, how do you know which thing made it work, gave you the success? And one of the things that people aren’t investing in, they’re investing heavily in kind of a sense, trying to make progress, but not investing very heavily in measuring that progress or actually understanding and interpreting that data to be able to understand what was the thing that they did that delivered that benefit. And this is one of the aspects where we need to change the way that we work. It’s interesting, we’ve kind of heard of a major project just this week, big program in the U.K. That’s really struggling. I won’t mention names, but it’s really struggling because they’ve been so desperate to achieve a certain point that they’ve kind of lost their way.
Dom Graveson:
They’ve hired lots of people. They’ve got lots of people leading different parts of the product and all the rest of it, but they kind of lost their way because in their quest to arrive somewhere so quickly or make progress, they’ve kind of lost track of where they were trying to get from the business objectives’ point of view. And I think that’s a common problem. I mean, I’ve been in this business 25 years, I guess, and something I see again and again, that if we can build the team to a certain size or if we can get this kind of throughput of features shipped, we will arrive somewhere.
Dom Graveson:
And of course, that’s important. Progress is at the heart of all of this. But you do need to keep this mindset, as Deane mentioned, this kind of incrementalist mindset, of break things down, take it a step at a time, and structure the organization, manage upward, manage your sponsors robustly so that they understand that this is not something that you can just steamroller into existence. It’s much more of a kind of step forward across a series of fronts to make progress. And that takes kind of courage and communication with all kinds of levels of the organization.
Laura Dolan:
It does. And it is a very common problem because you end up with too many cooks in the kitchen as it were, and then you also end up with a quantity over quality issue, which is such a common problem that you find within organizations. And then you also have the issue of just all the siloing that goes on and the lack of transparency between different departments, and so you have this huge team, but they’re not communicating with each other. So that’s also just a very difficult thing to work around and there has to be a better way, don’t you think?
Dom Graveson:
Yeah. I mean think this is the thing, is that this is why people need to want… Where I’ve seen this successful is where it’s seen as an organizational change, as much as it’s seen as a program of delivery of product or delivery of an experience or new channels or whatever, is that the organization needs to learn and change as the program evolves. You can’t just throw tons of money at this. You need to understand how it’s going to require people to behave differently, work together differently, measure things differently, check in on one another, enable mistakes to be made in a way that people aren’t afraid of that, and that they get surfaced quickly, and that they’re maturely and honestly addressed, all that kind of stuff. And I think a lot of some kind of wasted money over the last 10, 15 years has been where that hasn’t really been seen.
Dom Graveson:
The business case has been made for the program, for the objectives of the program, without really thinking about how the organization is going to change. And organizations are changing, have changed profoundly in the last few years. We’re working from home. We’ve changed the way that we interact with one another socially. We’ve got political upheaval in the U.S. We’ve got a war in Europe. We’ve got all of this stuff that’s really changed the way that we kind of feel about the world and trust is more important than ever and kind of empathy, and understanding, and individualized experiences, and all of these things are not just technical problems to solve by throwing a load of infrastructure in place.
Dom Graveson:
Infrastructure is important, but it’s also about building an experimental mindset. It’s about empowering your people to take risks in a safe environment. It’s about changing the way that your organizations have run right from the top to show and demonstrate that behavior is understood from the frontline all the way to the C-suite.
Laura Dolan:
Hundred percent. So when you talk about these changes that organizations need to make to dovetail into this evolution, where have you seen this approach be successful? Do you have any examples that you can describe for us?
Dom Graveson:
Yeah. When I think where we’ve talked about it, and Deane feel free to jump in here, is where I’ve seen it on organizations of all kinds of sizes that have invested in their digital teams, both from the kind of point of view of giving them the freedom to be able to innovate and the freedom to be able to try new things out, try new technologies out, and build experiences, and invest in audience research, and kind of pulling together the kind of insights, departments and sources of insight within the organization, but also where they’ve had the visibility and had the visible support from the senior leadership.
Dom Graveson:
I think still, you see quite a lot of digital teams being run by either technology or marketing. And I think digital is something that is actually the responsibility of the whole business now, the whole organization. I don’t know, Deane, have you got any thoughts on this? We talked about it extendedly.
Deane Barker:
You and I have talked about this, Dom, and I think I’ve talked about this in the podcast before, is that a key component of digital leadership is trust. Do you trust your people to work towards the good of the organization. Too often, we get kind of hampered by the tyranny of metrics. We need an instant uplift. We need an instant improvement, where that really discourages your team from making small changes and running experiments and trying new things that might not work. For some reason, we want everybody to guarantee that everything’s going to work right out of the box. It’s not. And I think if you trust your teams and provide them kind of the emotional and professional safety to make small changes, and see what works, and come back to you and say, “Look, we tried five things. Four of them didn’t work, but this one thing worked really, really well.”
Deane Barker:
I’m big on taking little bets, small incremental changes, and lengthening the periods required for return and results. If you demand quantitative metric results from your team in 30 days, you’re going to get some very brittle results, if anything. Someone might even be massaging some numbers or framing it in such a way to give you the numbers that you want. But if you sit your team down and say, “Look, I’d like to be in a better place this time next year.” Well then, they can come up with a long term plan, and they can try some things and see what works and see what doesn’t work, and I also think that plays very heavily into employee retention. I think that lets your employees do their best work and be satisfied with their job and satisfied with their efforts, and I think it’s a huge win for the organization, but it takes trust. As a leader, you need to believe that your people are skilled and are working towards the benefit of the organization, and some leaders are more shortsighted than others, let’s say.
Dom Graveson:
It’s interesting, actually. You talk about this kind of leaders wanting results quickly because I think that’s a reality of organizations on this part is. And one of the things that I think a lot of kind of chief digital officers who we tend to work with are struggling between… I have this kind of analogy I use, which is a bit like you’re running a chip van. You’re trying to feed people, hot dogs and chips in the rain and there’s a big queue of people and everyone’s hungry, and you know that you could evolve your product and make better food, but you’re so bogged down by having to kind of feed people that you never get the chance to think about that. And I think one of the things that we talk about is building this idea of a balanced portfolio.
Dom Graveson:
So digital evolution or digital transformation, but digital evolution is always going to be kind of made up of combination of small little bits of quick win work and big core transformational change, which are things like integrating your CRM, or migrating your digital experience platform, or swapping out your ERP or whatever. And you’ve always got this combination of the quick wins, the things that if you’re going to bring the business on the journey with you, you need to demonstrate some simple improvements, such as the marketing team in South America just can’t update their campaigns without calling you. And of course, you are running a chip van, so they’re going to be 15th in the queue, so they’re furious. They don’t want to hear about your big innovation program of new digital experience with the customer centricity. They just want to update their campaigns. So it’s about balancing a number of simple things that you can do for everybody, along with those longer term transformational changes.
Dom Graveson:
And then a third part, which is what we call future possible, which is looking at what technology or platforms might be useful in the future for you and experimenting. So you’ve got this, do the simple stuff that just the CEO, she’s just getting hassled for every day from her colleagues. Get our stuff fixed, because that’ll make you popular and it’ll build you some support. Obviously investing in the, not being afraid to make decisions that are long term. This is not the right platform. We need to change, or we need to integrate this with this, or we need to invest in these people and up-skill them. That’s the kind of big kind of transformational stuff. And then these experiments that will help you discover what the future is. And you have to govern each of those three types of portfolios in a different way, and understand that the experiments will fail, most of them. But that’s where you will discover that the pot of gold for five years’ time, whereas the quick win or BAU, I hate that term BAU, but the quick win stuff, which is really important in building support.
Laura Dolan:
So how can organizations get started on the digital evolution journey?
Deane Barker:
Well, I’ve always been a big proponent of absolutely knowing what your goals are, what your conversion points, are for your digital presence. A conversion, most people know this now, but a conversion is when somebody takes an action in your digital properties that provides value. Ecommerce, it’s somebody checks out or in other websites, if somebody requests a demo or something like that, you have to know what these things are. You have to know the moment that your visitor provides value and the moment that your digital presence has provided value to you. Without knowing that you’re just nowhere, and we see a lot of people doing an enormous amount of work without any idea kind of what the goal is.
Deane Barker:
Back when I was in services, I was working with a healthcare client, and I was talking to their director of marketing. He says, the CEO calls me all the time and says, “We need more social media updates.” And he would go back to the CEO and say, “Why?” And the CEO couldn’t even tell them why, because the CEO didn’t understand the chain from action that the digital team takes to conversion or some moment when the website provides value. So you have to know that. Once you know that, the conversion points when your website provides them value, then you just need to break things down. You need to divide your web presence up into chunks that you can improve over time. Too many people just try to tackle the entire thing at once.
Deane Barker:
Let’s take a look at your contact dose form. Maybe we need to spend some time just fixing that. And then, let’s move to your homepage and run a couple experiments there. I would be remiss if I didn’t mention that Optimizely sells an experimentation suite. Run a couple experiments on your homepage. What’s it going to take to drive people to that contact form? Literally, if that’s the goal that you know have to improve, you can work towards improving that goal and you can filter out people in the organization that have pet projects, or pet ideas, or they’re sure that this is going to make things better. If you can go back to them and say, “Nope, this is the goal. This is the goal we’re working towards,” you can start making incremental steps toward improving that goal. And that’s probably the most important thing that an organization can do.
Dom Graveson:
Yeah. I mean think Deane hits upon two things that are really interesting there. The first one is a lot of people that we work with or often one of the struggles that heads of digital have is, I keep getting asked to do kind of crazy things like create more social media posts by senior people, which adds to that whole noise, that adds to the queue of the backlog of urgent stuff that needs doing, that means that you never get the chance to stop and actually think about things strategically.
Dom Graveson:
And actually, there’s an element of a lack of understanding within very senior people because maybe they’re not so experienced at working within the kind of digital space. Although to be honest, it’s been 20 years. I have little sympathy for that now. An organization that’s probably not only just digital first, but pretty much digital all over. If you think about it now, your first interaction with an organization is going to be probably through its digital channels, and maybe even the entire service experience will be through digital channels. Leaders should get this by now, right?
Dom Graveson:
But my point is that if digital teams are getting kind of requests from leadership, such as create loads of social media posts or build us an app is another one I’ve heard. “We need an app.” “Well, why do we need an app?” Is because actually there’s a responsibility on digital leaders to step up and be leaders and to be able to say, “Right. You need to tell us where this business needs to be. And we will help develop an understanding of what those key conversion points are.” You can’t expect senior, necessarily people who aren’t sort of native digital folk to understand that. But if you provide them with that information, I hope you would get less of those kinds of slightly daft requests. If you see what I mean, Deane, I think there’s a responsibility on digital professionals to educate upwards. And rather than kind of feel like if you’re in an organization that’s struggling, change that organization if you can. It’s a two-way thing.
Deane Barker:
This goes back to trust, right?
Dom Graveson:
Yeah.
Deane Barker:
The reason why you have people in digital, not resisting calls to do things that aren’t going to provide value is because professional insecurity. They don’t believe that their leaders trust them. They think they just have to do whatever the CEO or the CMO tells them to do. They don’t feel like they can push back. I have been working in the digital space for 25 years and everything comes back to organizational and personal psychology at some level. I think you have people in digital team that they just don’t feel like they can push back and make the right suggestions. And they just have to do what someone higher at the [inaudible 00:22:13] tells them to do, and that’s just a recipe for disaster, really.
Dom Graveson:
It also means you’re going to lose the other best people you have, because no one with any integrity and real talent will stick around if that’s the kind of corporate environment that they’re in. People have a lot of choice these days, particularly with increasing mobility and hybrid working, is that really the world is your talent market now and you can find the best people if you build the best cultures, and it doesn’t really matter where they live. For example, Netcel, some of us live outside of the U.K., Some of us live across the U.K., And it’s worked very well.
Dom Graveson:
But I think this thing about what Deane was saying about breaking it down and we touched upon this in the answer to the last question about the balance portfolio. This is where you do need to break down those conversion points and how we improve those conversion points into a really simple set of steps, that by improving this, you can understand how you are influencing the outcome. So don’t necessarily need to rebuild the whole of your shopping funnel, for example, or your conversion funnel, but build a program and invest in this experimentation.
Dom Graveson:
So, this is both in the platform, as Deane said, Optimizely has an experimentation suite built into it, but also working with the agency, the partner that you work with, to understand how experimentation works. At Netcel, we do a lot of work with pitch leaders on kind of building out both kind of capability at the kind of operational level. How do I design an experiment, but also about how you build a business case for experimentation, and kind of build a business case for broader digital evolution as a concept. We’ve actually published a report that you can download from Netcel.com/report that talks a lot about this, that’s Deane’s been involved with and some other leading digital professionals as well. So, if you wanted to read more, you can check that out. That’s been supported by Optimizely. Yeah, so there’s some good sort of starting points in that.
Laura Dolan:
Yes, please go ahead and send me that link when you can, Dom, and I will definitely put it in the link to the show notes of this podcast that we will have on our website. Perfect. Thank you. Great. You guys have covered a lot and just being conscious of time, is there anything else that we didn’t cover that you’d like to speak on before we wrap up?
Deane Barker:
Both Dom and I have alluded to the concept of employee morale, psychology and retention. And I think this is one of the big crises in digital right now, is that people are searching for the organization that gets it. People are searching for the organization that they can work at, and feel good about their work, and feel like they’re making a positive impact. And so when you hamper your digital teams, when you try to overload them, when you are vague with them, and you don’t have clear goals with them, you don’t let them try new things and incrementally make improvements, you hurt your organization in two ways.
Deane Barker:
Number one, just through lack of conversion, right? Lack of digital efficiency and effectiveness, but you also hurt them from lack employee morale and retention. Losing digital employees is so painful because they’re so painful to replace these days. And so, the damage to your organization is considerable and I think it’s very shortsighted to put some 30-day quantitative metric in front of that.
Dom Graveson:
Yeah. I mean, I completely agree with that, and I think one of the ways that you can tackle that is by ensuring that you’ve got… Digital isn’t something that’s just done with the digital team or just done by the digital team. We talk a lot about digital operating models with the clients that we work with, and this is where we get into the kind of, how do you govern and lead digital, not just how do you build the right products, or build the right experiences.
Dom Graveson:
But if, for example, you’re a professional services company and you want to segment to different markets and build authority in different markets, say you’re a lawyer firm or another kind of professional services firm. You want to build authority in merchants and acquisitions. You want to build authority in sports licensing law. You are going to need a lot of help from the people in your organization to generate that content. That content isn’t going to be generated necessarily by the digital team. But the digital team are there as an enabler. They’re there to provide the technology and the advice and the kind of lead and give people the confidence to be able to create content themselves, to be able to create their own campaigns.
Dom Graveson:
So digital is something that actually another principle and concept that Deane and I have been talking about recently is this idea of digital is like water. It’s kind of everywhere and you don’t notice it, as if you’re a fish, and we’ll put the link to that article in the podcast as well. There’s this idea that actually everyone should be responsible for doing digital to a level of excellence across your organization in the same way that everyone’s able to write emails to a level of excellence across the organization. And your digital teams are really there to set the standard, set examples, measure success, share that success, build a center of excellence, but also enable everyone else. So, you don’t need to necessarily overwork people. You can give people the tools they need to be able to run their own operations and the digital elements of their operations, but with the oversight and support from the digital team. So, this is known as a kind of hub and spoke model.
Dom Graveson:
And this has been a really powerful way of scaling digital, where you don’t want to overload your digital teams. The digital leaders can stay being exactly that, leaders, innovators, consultants, working within the organization to set the agenda, to build the infrastructure that your organization needs for the future, while training up and building basic levels of high-quality digital competencies in your marketing teams, in your customer service teams, in your product development teams, in all the different parts of your organization that interface with customers. And that’s been a really successful model for many, and I think I’m one that has a kind of rosy future ahead of it.
Laura Dolan:
I love that you brought up the, “What is water?” paper. I had a chance to read that and it’s a very interesting article and I know Deane, you actually sent a YouTube video that talks about the commencement speech. So, I am also going to put a link to that in the article, because it is quite fascinating and quite applicable as I said. So, thank you both for contributing both of those pieces that would supplement this subject that we talked about today. I think that’ll really drive the point home.
Deane Barker:
Dom and I have a shared love of David Foster Wallace.
Dom Graveson:
Yes, indeed.
Laura Dolan:
Awesome. Well, thank you both so much for taking the time to come on today and thank you all so much for taking the time to listen to this episode of the Optimizely Podcast. I am Laura Dolan, and I will see you next time.
Laura Dolan:
Thank you for listening to this edition of the Optimizely Podcast. If you’d like to check out more episodes or learn more about how we can take your business to the next level by using our marketing, content, or experimentation tools, please visit our website at optimizely.com, or you can contact us directly using the link at the bottom of this podcast blog to hear more about how our products will help you unlock your digital potential.
MARKETING
Mnemonic Content Strategy Framework Can Spark Conversations

I’m a sucker for mnemonics.
In fact, I remember how to spell it by “Me Nomics Except M nOt N In Case Spelling.”
OK, that’s a lie. But I daresay ChatGPT could never come up with that.
Anyway, one of my favorite idea-remembering devices comes from my hero Philip Kotler. He reduces his perfect definition of marketing to CCDVTP – Create and Communicate Value to a Target at a Profit.”
I lean on that mnemonic device when anyone asks about the best definition of marketing’s function in a business.
However, what makes a great mnemonic like CCDVTP is that each word the letter represents has something deeper behind it. So it’s not just six words – it’s six operating concepts with definitions made easier to remember by just remembering how the six words go together.
A mnemonic device for content strategy
I’ve written about the standard framework for developing or strengthening your content strategy. It’s one of the core modules of a CMI University course. It can be a lot to take in because the framework’s concepts and definitions need to be explained in varying levels of detail.
So, recently, I created a mnemonic device to use in my explanation – the 5 Cs: Coordination and Collaboration produce Content before Containers and make Channels measurable.
5Cs of #ContentStrategy: Coordination and Collaboration produce Content before Containers and make Channels measurable via @Robert_Rose @CMIContent. Click To Tweet
It works as a core or high-level definition of a content marketing strategy. But, like Kotler’s CCDVTP, it also lets me drill into the framework’s five concepts or pressure points. Let me explain:
Coordination
The primary purpose of a content strategy is to develop and manage core responsibilities and processes. In addition, they allow marketing to build and continually assess resource allocation, skill sets, and charters the marketing team needs to make content a business strength.
Most businesses that lack this C struggle with content as a repeatable or measurable approach. As I’ve said, content is everyone’s job in many businesses and no one’s strategy. A key element of a content strategy is a focus on building coordination into how ideas become content and ultimately generate business value.
Most businesses that lack coordination struggle with making #content a repeatable and measurable approach, says @Robert_Rose. Click To Tweet
Collaboration
In many businesses, content is developed in silos, especially with sales and marketing. Sometimes, it may be divided by channel – web, email, and sales teams don’t work together. In other cases, it may be by function – PR, sales, marketing, brand, and demand generation have different approaches.
Content is a team sport. The practitioners’ job is not to be good at content but to enable the business to be good at content. Scalability only happens through an effective, collaborative approach to transforming ideas into content and content into experiences.
Content before containers
As marketers, you are trained to think container first and content second. You start with “I need a web page,” “I need an email,” or “I need a blog post.” Then, your next step is to create content specific to that container.
If you start with “I need a blog post” and then create the #content idea, you’re doing it wrong, says @Robert_Rose via @CMIContent. Click To Tweet
I can’t tell you how many big ideas I’ve seen trapped in the context of a blog post simply because that was how it was conceived. I’ve also seen the reverse – small ideas spun into an e-book or white paper because someone wanted that digital asset.
This pressure point requires reverse thinking about your business’ process to create content. The first step must be to create fully formed ideas (big and small) and then (and only then) figure out which containers and how many might be appropriate.
My test to see whether marketing teams put content before containers is to look at their request or intake form. Does it say, “What kind of content do you need?” and list options, such as email, white paper, e-book, and brochure? Or does it say, “Please explain the idea or story you’d like to develop more fully?”
Channels
I purposely put channels last because they express the kind of content you create. Channels dictate how you ultimately reach the customers and how the customers will access your content. Which or how many of your content channels do you treat as a media company would?
Is your corporate blog truly centered on the audience, or is it centered on your product or brand? Is it a repository where you put everything from news about your product and how to use it to what to expect in the future and how other customers use your product?
What about your social media, website, newsletters, and thought leadership center? What is their purpose and editorial strategy? How do you evolve your content products as your audience changes as a media company does? Without a clear strategy for every channel, the measurement of content becomes guesswork at best.
When you examine your strategic approach to content, I hope the 5Cs mnemonic device helps you have those necessary conversations around coordination, collaboration, content before containers, and channels with the stakeholders in your business.
It’s your story. Tell it well.
HANDPICKED RELATED CONTENT:
Cover image by Joseph Kalinowski/Content Marketing Institute
MARKETING
The Moz Links API: An Introduction

What exactly IS an API? They’re those things that you copy and paste long strange codes into Screaming Frog for links data on a Site Crawl, right?
I’m here to tell you there’s so much more to them than that – if you’re willing to take just a few little steps. But first, some basics.
What’s an API?
API stands for “application programming interface”, and it’s just the way of… using a thing. Everything has an API. The web is a giant API that takes URLs as input and returns pages.
But special data services like the Moz Links API have their own set of rules. These rules vary from service to service and can be a major stumbling block for people taking the next step.
When Screaming Frog gives you the extra links columns in a crawl, it’s using the Moz Links API, but you can have this capability anywhere. For example, all that tedious manual stuff you do in spreadsheet environments can be automated from data-pull to formatting and emailing a report.
If you take this next step, you can be more efficient than your competitors, designing and delivering your own SEO services instead of relying upon, paying for, and being limited by the next proprietary product integration.
GET vs. POST
Most APIs you’ll encounter use the same data transport mechanism as the web. That means there’s a URL involved just like a website. Don’t get scared! It’s easier than you think. In many ways, using an API is just like using a website.
As with loading web pages, the request may be in one of two places: the URL itself, or in the body of the request. The URL is called the “endpoint” and the often invisibly submitted extra part of the request is called the “payload” or “data”. When the data is in the URL, it’s called a “query string” and indicates the “GET” method is used. You see this all the time when you search:
https://www.google.com/search?q=moz+links+api <-- GET method
When the data of the request is hidden, it’s called a “POST” request. You see this when you submit a form on the web and the submitted data does not show on the URL. When you hit the back button after such a POST, browsers usually warn you against double-submits. The reason the POST method is often used is that you can fit a lot more in the request using the POST method than the GET method. URLs would get very long otherwise. The Moz Links API uses the POST method.
Making requests
A web browser is what traditionally makes requests of websites for web pages. The browser is a type of software known as a client. Clients are what make requests of services. More than just browsers can make requests. The ability to make client web requests is often built into programming languages like Python, or can be broken out as a standalone tool. The most popular tools for making requests outside a browser are curl and wget.
We are discussing Python here. Python has a built-in library called URLLIB, but it’s designed to handle so many different types of requests that it’s a bit of a pain to use. There are other libraries that are more specialized for making requests of APIs. The most popular for Python is called requests. It’s so popular that it’s used for almost every Python API tutorial you’ll find on the web. So I will use it too. This is what “hitting” the Moz Links API looks like:
response = requests.post(endpoint, data=json_string, auth=auth_tuple)
Given that everything was set up correctly (more on that soon), this will produce the following output:
{'next_token': 'JYkQVg4s9ak8iRBWDiz1qTyguYswnj035nqrQ1oIbW96IGJsb2dZgGzDeAM7Rw==', 'results': [{'anchor_text': 'moz', 'external_pages': 7162, 'external_root_domains': 2026}]}
This is JSON data. It’s contained within the response object that was returned from the API. It’s not on the drive or in a file. It’s in memory. So long as it’s in memory, you can do stuff with it (often just saving it to a file).
If you wanted to grab a piece of data within such a response, you could refer to it like this:
response['results'][0]['external_pages']
This says: “Give me the first item in the results list, and then give me the external_pages value from that item.” The result would be 7162.
NOTE: If you’re actually following along executing code, the above line won’t work alone. There’s a certain amount of setup we’ll do shortly, including installing the requests library and setting up a few variables. But this is the basic idea.
JSON
JSON stands for JavaScript Object Notation. It’s a way of representing data in a way that’s easy for humans to read and write. It’s also easy for computers to read and write. It’s a very common data format for APIs that has somewhat taken over the world since the older ways were too difficult for most people to use. Some people might call this part of the “restful” API movement, but the much more difficult XML format is also considered “restful” and everyone seems to have their own interpretation. Consequently, I find it best to just focus on JSON and how it gets in and out of Python.
Python dictionaries
I lied to you. I said that the data structure you were looking at above was JSON. Technically it’s really a Python dictionary or dict datatype object. It’s a special kind of object in Python that’s designed to hold key/value pairs. The keys are strings and the values can be any type of object. The keys are like the column names in a spreadsheet. The values are like the cells in the spreadsheet. In this way, you can think of a Python dict as a JSON object. For example here’s creating a dict in Python:
my_dict = { "name": "Mike", "age": 52, "city": "New York" }
And here is the equivalent in JavaScript:
var my_json = { "name": "Mike", "age": 52, "city": "New York" }
Pretty much the same thing, right? Look closely. Key-names and string values get double-quotes. Numbers don’t. These rules apply consistently between JSON and Python dicts. So as you might imagine, it’s easy for JSON data to flow in and out of Python. This is a great gift that has made modern API-work highly accessible to the beginner through a tool that has revolutionized the field of data science and is making inroads into marketing, Jupyter Notebooks.
Flattening data
But beware! As data flows between systems, it’s not uncommon for the data to subtly change. For example, the JSON data above might be converted to a string. Strings might look exactly like JSON, but they’re not. They’re just a bunch of characters. Sometimes you’ll hear it called “serializing”, or “flattening”. It’s a subtle point, but worth understanding as it will help with one of the largest stumbling blocks with the Moz Links (and most JSON) APIs.
Objects have APIs
Actual JSON or dict objects have their own little APIs for accessing the data inside of them. The ability to use these JSON and dict APIs goes away when the data is flattened into a string, but it will travel between systems more easily, and when it arrives at the other end, it will be “deserialized” and the API will come back on the other system.
Data flowing between systems
This is the concept of portable, interoperable data. Back when it was called Electronic Data Interchange (or EDI), it was a very big deal. Then along came the web and then XML and then JSON and now it’s just a normal part of doing business.
If you’re in Python and you want to convert a dict to a flattened JSON string, you do the following:
import json my_dict = { "name": "Mike", "age": 52, "city": "New York" } json_string = json.dumps(my_dict)
…which would produce the following output:
'{"name": "Mike", "age": 52, "city": "New York"}'
This looks almost the same as the original dict, but if you look closely you can see that single-quotes are used around the entire thing. Another obvious difference is that you can line-wrap real structured data for readability without any ill effect. You can’t do it so easily with strings. That’s why it’s presented all on one line in the above snippet.
Such stringifying processes are done when passing data between different systems because they are not always compatible. Normal text strings on the other hand are compatible with almost everything and can be passed on web-requests with ease. Such flattened strings of JSON data are frequently referred to as the request.
Anatomy of a request
Again, here’s the example request we made above:
response = requests.post(endpoint, data=json_string, auth=auth_tuple)
Now that you understand what the variable name json_string is telling you about its contents, you shouldn’t be surprised to see this is how we populate that variable:
data_dict = { "target": "moz.com/blog", "scope": "page", "limit": 1 } json_string = json.dumps(data_dict)
…and the contents of json_string looks like this:
'{"target": "moz.com/blog", "scope": "page", "limit": 1}'
This is one of my key discoveries in learning the Moz Links API. This is in common with countless other APIs out there but trips me up every time because it’s so much more convenient to work with structured dicts than flattened strings. However, most APIs expect the data to be a string for portability between systems, so we have to convert it at the last moment before the actual API-call occurs.
Pythonic loads and dumps
Now you may be wondering in that above example, what a dump is doing in the middle of the code. The json.dumps() function is called a “dumper” because it takes a Python object and dumps it into a string. The json.loads() function is called a “loader” because it takes a string and loads it into a Python object.
The reason for what appear to be singular and plural options are actually binary and string options. If your data is binary, you use json.load() and json.dump(). If your data is a string, you use json.loads() and json.dumps(). The s stands for string. Leaving the s off means binary.
Don’t let anybody tell you Python is perfect. It’s just that its rough edges are not excessively objectionable.
Assignment vs. equality
For those of you completely new to Python or programming in general, what we’re doing when we hit the API is called an assignment. The result of requests.post() is being assigned to the variable named response.
response = requests.post(endpoint, data=json_string, auth=auth_tuple)
We are using the = sign to assign the value of the right side of the equation to the variable on the left side of the equation. The variable response is now a reference to the object that was returned from the API. Assignment is different from equality. The == sign is used for equality.
# This is assignment: a = 1 # a is now equal to 1 # This is equality: a == 1 # True, but relies that the above line has been executed
The POST method
response = requests.post(endpoint, data=json_string, auth=auth_tuple)
The requests library has a function called post() that takes 3 arguments. The first argument is the URL of the endpoint. The second argument is the data to send to the endpoint. The third argument is the authentication information to send to the endpoint.
Keyword parameters and their arguments
You may notice that some of the arguments to the post() function have names. Names are set equal to values using the = sign. Here’s how Python functions get defined. The first argument is positional both because it comes first and also because there’s no keyword. Keyworded arguments come after position-dependent arguments. Trust me, it all makes sense after a while. We all start to think like Guido van Rossum.
def arbitrary_function(argument1, name=argument2): # do stuff
The name in the above example is called a “keyword” and the values that come in on those locations are called “arguments”. Now arguments are assigned to variable names right in the function definition, so you can refer to either argument1 or argument2 anywhere inside this function. If you’d like to learn more about the rules of Python functions, you can read about them here.
Setting up the request
Okay, so let’s let you do everything necessary for that success assured moment. We’ve been showing the basic request:
response = requests.post(endpoint, data=json_string, auth=auth_tuple)
…but we haven’t shown everything that goes into it. Let’s do that now. If you’re following along and don’t have the requests library installed, you can do so with the following command from the same terminal environment from which you run Python:
pip install requests
Often times Jupyter will have the requests library installed already, but in case it doesn’t, you can install it with the following command from inside a Notebook cell:
!pip install requests
And now we can put it all together. There’s only a few things here that are new. The most important is how we’re taking 2 different variables and combining them into a single variable called AUTH_TUPLE. You will have to get your own ACCESSID and SECRETKEY from the Moz.com website.
The API expects these two values to be passed as a Python data structure called a tuple. A tuple is a list of values that don’t change. I find it interesting that requests.post() expects flattened strings for the data parameter, but expects a tuple for the auth parameter. I suppose it makes sense, but these are the subtle things to understand when working with APIs.
Here’s the full code:
import json import pprint import requests # Set Constants ACCESSID = "mozscape-1234567890" # Replace with your access ID SECRETKEY = "1234567890abcdef1234567890abcdef" # Replace with your secret key AUTH_TUPLE = (ACCESSID, SECRETKEY) # Set Variables endpoint = "https://lsapi.seomoz.com/v2/anchor_text" data_dict = {"target": "moz.com/blog", "scope": "page", "limit": 1} json_string = json.dumps(data_dict) # Make the Request response = requests.post(endpoint, data=json_string, auth=AUTH_TUPLE) # Print the Response pprint(response.json())
…which outputs:
{'next_token': 'JYkQVg4s9ak8iRBWDiz1qTyguYswnj035nqrQ1oIbW96IGJsb2dZgGzDeAM7Rw==', 'results': [{'anchor_text': 'moz', 'external_pages': 7162, 'external_root_domains': 2026}]}
Using all upper case for the AUTH_TUPLE variable is a convention many use in Python to indicate that the variable is a constant. It’s not a requirement, but it’s a good idea to follow conventions when you can.
You may notice that I didn’t use all uppercase for the endpoint variable. That’s because the anchor_text endpoint is not a constant. There are a number of different endpoints that can take its place depending on what sort of lookup we wanted to do. The choices are:
-
anchor_text
-
final_redirect
-
global_top_pages
-
global_top_root_domains
-
index_metadata
-
link_intersect
-
link_status
-
linking_root_domains
-
links
-
top_pages
-
url_metrics
-
usage_data
And that leads into the Jupyter Notebook that I prepared on this topic located here on Github. With this Notebook you can extend the example I gave here to any of the 12 available endpoints to create a variety of useful deliverables, which will be the subject of articles to follow.
MARKETING
What Businesses Get Wrong About Content Marketing in 2023 [Expert Tips]
![What Businesses Get Wrong About Content Marketing in 2023 [Expert Tips] What Businesses Get Wrong About Content Marketing in 2023 [Expert Tips]](https://articles.entireweb.com/wp-content/uploads/2023/05/What-Businesses-Get-Wrong-About-Content-Marketing-in-2023-Expert.pngkeepProtocol.png)
The promise of inbound marketing is a lure that attracts businesses of all kinds, but few understand the efforts it takes to be successful. After a few blog posts, they flame out and grumble “We tried content marketing, but it didn’t really work for us.” I hear this from prospective clients all the time.
-
SEO5 days ago
Event Link Building: A Beginner’s Guide
-
SEO5 days ago
How To Use Search Console Bulk Data Export
-
SEARCHENGINES5 days ago
Google Search Suggestions For Your Search
-
SEARCHENGINES5 days ago
Google Search Algorithm Ranking Volatility May 22 & 23
-
SEARCHENGINES5 days ago
Google Job Search Bug
-
SEO5 days ago
Optimizing News Sites Using Google Search Console Reports
-
SOCIAL5 days ago
YouTube’s Retiring YouTube Stories Next Month
-
MARKETING7 days ago
Leverage first-party data for a winning CRM strategy