Technical debt has become quite the buzzword over the past few years with Salesforce orgs becoming increasingly complex, and teams being asked to deliver at a faster pace.
Technical debt could be compared to space junk, the pieces of machinery or debris left by humans in space; seemingly harmless, cumulation over time is harmful and one collision would be disastrous.
As your organization evolves, debris is left lying around in your CRM and marketing automation platform. These often take the form of unused automations, bad data, and changed configuration. Marketing teams also leave behind other types of debris, such as outdated email templates and landing pages – anything that’s impacted by a change in messaging, a pivot in strategy, or the passage of time.
In some ways, technical debt is inevitable, especially for fast-moving organizations. Just like a monetary debt, technical debt doesn’t have to escalate into a disastrous situation; if paid off in a timely manner, you won’t suffer from the ‘interest’ of long-standing debt – the longer it’s left, the harder it is to climb out.
“Shipping first-time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite… The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt.”
– Ward Cunningham, 1982. Cunningham is credited for coining the term “technical debt”
The Ways Marketers Generate Technical Debt
I will be outlining the ways that marketing teams contribute to technical debt. These could impact you, no matter which marketing automation platform you’re using. To illustrate these points, I’m going to explain the considerations in the context of a Pardot (Marketing Cloud Account Engagement, MCAE) account.
1. Unused Automations
Pardot (MCAE) automations are easy to create within a few clicks – which is a blessing but can also become a curse. Automation rules, completion actions, and dynamic lists will quickly mount up in your account if there’s no overall design plan or control.
In a typical Pardot account (Plus edition), you’re given a limit of 100 running automation rules. That’s a heck of a lot to keep an eye on! Plus, notice how I said running rules – paused automation rules don’t count towards that limit, so you could have hundreds more lying stagnant.
Are you in the habit of adding notes in the description field when creating or editing automation rules? I’m sure you’ve had that moment when you wonder: “Why was this automation even created in the first place?”
Completion actions are a sneaky form of technical debt that will come back to bite you. You add completion actions to each individual email, form, landing page, etc. Once you add a completion action, the action will fire each time a prospect makes an activity on a marketing asset. With conditional completions, this adds an extra layer of flexibility, or complexity, whichever way you look at it.
Creating both a completion action and an automation rule with the same triggers and/or actions is scarily easy to do. Take score adjustments as a prime example – you can increase a prospect’s score. Then, add into the mix Engagement Studio actions. And don’t forget about the Salesforce automation that’s impacting Lead/Contact data mapped to prospect fields, primarily Salesforce Flows, and (until they are retired), Process Builders and Workflow Rules.
You can see how easy it can be to end up with ‘automation spaghetti’.
2. Poor Quality Data
Marketing teams are capturing high volumes of data that is often ‘raw’, especially at the “top of funnel”. Without real conversation involved, validating the data prospects submit is more challenging. The real issue is the plague of dummy data, although there are ways to keep spam data out of your marketing automation.
That’s one side of the picture which is outside your locus of control. Internally, other teams, or you, yourself, could be making changes that result in data becoming ‘bad’.
A record’s data could be adhering to what you require, i.e. the fields populated and the values contained in those fields. What if there are changes to the data requirements on the Lead/Contact object in Salesforce (e.g. validation rules, required fields, etc.)?
It’s equally possible that changes on the Pardot side can be disruptive – changes to Pardot automation, or form fields no longer capturing the data point or values in line with what you need. These are ‘spanners in the works’ which can creep up in multiple places to undermine your well-oiled machine.
If Pardot and Salesforce conflict – either in terms of record data validation, or a clash/overload in automation – will result in sync errors. No matter how significant or minor the cause, these errors will prevent the Pardot sync queue from processing these troublesome records at all. You can read up about the most common cause of Pardot sync errors here.
3. Outdated Marketing Assets
I’m guilty of cluttering my ‘digital’ life – emails, my MacBook desktop, iCloud – but not carving out the time to declutter them. So why don’t you and I make the time? Simply, because we don’t have the time.
As marketers, we’re pushing forward, learning, optimizing, predicting – there aren’t enough hours in the day to sweep up old assets that no longer serve a purpose.
Branding and design shift over time, but old email templates and landing pages stay stuck in the past. Without proper oversight, this leads to incorrect templates being copied and published – the dreaded ‘rinse and repeat’. This is common, especially among larger teams. It’s not just branding/design, it often includes bad code that’s not in line with modern best practices or has been incorrectly modified. Examples include non-responsive email templates and landing pages*.
*Hopefully, this will be an issue of the past, thanks to the new email and landing page builder templates built to be responsive-first.
Deleting these marketing assets sends them to the Pardot recycle bin. You may be aware that when you send assets to the recycle bin, it isn’t a ‘goodbye’, but more of a ‘maybe see you later’*. Deleted items sit in the recycle bin, with the potential to undelete as required.
*Items that are permanently deleted include files, tags, dynamic content, and empty folders.
A huge but. When an item is sent to the recycle bin, metrics relating to that asset will no longer appear in reports. However, as you are most likely syncing prospect engagement to Salesforce Campaigns (updating the prospect’s Campaign Member) then that status value stays put (is not interfered with), depending on whether the marketing asset is active in Pardot, or in the recycle bin.
How Much Technical Debt Costs You
These phrases are often floating around: “we’re ramping up our strategy” or “we’re ramping up our messaging”. This is almost always a forewarning for technical debt.
As I mentioned earlier, technical debt is inevitable, especially in fast-moving organizations. There could be a:
- Change in strategy: For example, targeting different geographies, industries, or persona within organizations, can mean creating new automation and data without taking care of what happens to the old data.
- Change in messaging: This results in marketing assets becoming outdated. Instead of old templates being removed, they often gather dust, and as I said, it’s like someone will come along and copy the wrong template to use.
On the one hand, technical debt accrues costs for the marketing technologists/IT teams. This is defined as “the cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer to develop. It’s also known as a concept called “Shift Left” – ‘the earlier you catch problems, the cheaper it is to fix them.” Also, it’s the time required to adapt and troubleshoot automations.
On the other hand, technical debt affects all marketers. While these impacts aren’t typically labeled as ‘technical debt’, a cost accrues when messaging/product names are changed. As marketing has become entrenched in the technology used, it results in a form of technical debt that’s harder to predict or pinpoint when it happens.
What extent of technical debt could happen in the aftermath of product name changes? Recently, someone on LinkedIn flagged this exact question in reference to Pardot rebranding to Marketing Cloud Account Engagement. What is the time and attention required to update marketing assets and documentation? How can customer confusion (and the time for additional guidance from salespeople) be quantified?
Plus, it also extends beyond your locus of control, and beyond the four walls of your company. Analysts, journalists, and individuals all reference the product name on third-party sites – take the Stack Exchange, for example.
How to Solve Marketing Technical Debt (and How to Avoid It)
“A more helpful way to think about technical debt is that everything is technical debt. Some of it is low interest, such as a workflow that is doing what it should, and some would be considered high interest, like that function you’ve tweaked 12 times in the past year and is throwing errors every couple of days.”
– Matthew Lamb, CTO at 10k Advisors (read more)
Again, technical debt is inevitable and doesn’t necessarily have to become a burden if ‘paid back’ in a timely manner.
Thanks to Jeff Mitchell, a Senior Business Process Architect at C Space, I’m using the advice shared in “Tackling Technical Debt: a Guide for Salesforce Admins” and placing it into a marketing technology context.
1. Prioritize
Prioritize your decision-making by highest impact items.
Every Pardot (MCAE)/Salesforce org has a laundry list of To-Dos that make up the roadmap for what you’d like to achieve in the long-term. The sheer vastness can make it difficult to begin.
Take time to go through your objects, automation, and integrations (connectors) to understand the technical layout. Combine this insight with user interviews to give you an overview of both the backend and overall user experience.
If you have no clue where to begin, take a look at your Pardot account limits – you’ll quickly see which items you have too many of. Cleaning up unused automation rules, for example, will avoid the limit being ‘hit’ in the future.
Another place to direct your attention is your Pardot sync queue (prospects and marketing assets); an overloaded queue results in a slower sync time. If all Lead/Contacts syncing from Salesforce don’t need to be in Pardot, you can leverage Marketing Data Sharing Rules to limit that number.
Finally, identify prospect sync errors caused by data quality/formatting issues. If you have hundreds (or thousands!) of errors, fixing these will be a sure win.
Unused automation, unnecessary data sync, data quality – any (or all, of these common issues could become your primary focus.
2. Refactor
Team up with your Salesforce Admin to review Flow (and Process Builder) errors to fix troublesome automation that’s likely been forgotten about amidst changes.
Especially old Apex classes – you’ll find that these can now be built with declarative tools that will a) future-proof the automation, and b) make it easier for all technical teams across your organization to ‘read’ what’s happening (versus being buried in code).
It’s time to move all automation on the Salesforce side to Flow. Rather than this migration being a ‘one-click’ exercise, try building flows from the ground up. This is known as “refactoring”, which could involve combining automations into one, streamlining logic (e.g. decision steps), and eliminating what’s no longer required in the process.
While you may not understand everything in the table below, it acts like a compass when refactoring automation – what you want to achieve (left column) and the available methods (top row):
Source: Record-Triggered Automation Decision Guide by Salesforce
Refactoring could also be applied to campaign automation, such as Engagement Studio. In light of Apple MPP being introduced, email opens became an unreliable trigger point. This has resulted in many marketers weeding email opens out of their campaign automation. Pardot brought out an Email Open Rule Audit Tool to make the audit process easier.
3. Partner
While you should own your Pardot/Salesforce org, getting help is an important part of its long-term development. There are hundreds of Salesforce consulting partners that offer their expertise on Salesforce products including Pardot (MCAE).
These specialists would have seen inside multiple Salesforce/Pardot orgs and should be able to spot issues, or items that could potentially become troublesome down the line.
To audit your Salesforce/Pardot org, it’s beneficial to get a fresh pair of eyes. Audits for Pardot especially are time consuming – I know, because I’ve been there. A partner is likely to have a tried-and-tested approach, or even templates to document the exercise.
4. Documentation
Continuing on to the topic of documentation (no one’s favorite job!), it’s your duty to build out new, or update existing documentation.
The aim for documentation is to communicate how your fields / marketing assets / flows / triggers / classes / integrations interact with each other.
It could be something as small as getting into the habit of adding notes in the description field when creating or editing automation rules. This will avoid you, or anyone else who comes along in the future, puzzling over why this automation was created in the first place.
How Salesforce documentation can defend your org against technical debt is also covered in this article.
“While portions of this cleanup are grueling, boring, and honestly, relatively thankless, the process will leave you with an incredibly strong understanding of your org and a fantastic foundation to build upon.”
– Jeff Mitchell, Senior Business Process Architect at C Space (read more)
5. Governance
Finally, appointing a centralized admin is key. This individual can take charge of the account design (essentially, a Pardot Architect) and keep tabs on what automation the rest of the team is building. Remember, Pardot (MCAE) automations are easy to create within a few clicks, which is a blessing, but can also become a curse if left unchecked.
Comments: