Latest / Marketing Automation with Fexingo: HubSpot, Marketo, and Automated Customer Journeys / Your Marketing Automation Needs a Data Freshness SLA
Transcript
- Lucas: You run a triggered email campaign based on a lead scoring model you built three months ago. The model worked — open rates were solid, conversions tracked. But last week the numbers dropped off a cliff. What changed? Luna: Maybe the list got stale? Contacts changed jobs, titles got outdated, some bounced. Lucas: Exactly. And the problem isn't that you forgot to clean the data — it's that your marketing automation platform has no mechanism to enforce data freshness. Most CRMs and MAPs treat every field as equally valid regardless of when it was last updated. That's a ticking time bomb for any automated journey. Luna: So you're saying the platform itself doesn't distinguish between a field updated yesterday and one from six months ago? Lucas: Correct. And that means your 'highly personalized' email might still address someone as 'Director of Marketing' at a company they left in January. The system doesn't know. It just sees a filled field. Luna: I've seen that happen. A colleague ran an ABM campaign targeting 'VP of Engineering' at fifty accounts — turns out a third of those people had moved roles. The campaign bombed. Lucas: Right. So the fix is to introduce something most marketing teams don't have: a Data Freshness SLA. A service-level agreement that says every field used in a segmentation or personalization rule must have been verified within a certain window. For lead score recency, maybe thirty days. For job title, maybe sixty. For a phone number, ninety. Luna: And who enforces that? The marketing ops person? Lucas: Initially, yes. But the SLA has to be negotiated between marketing ops and whoever owns the CRM — usually sales ops or RevOps. You agree on thresholds, then build an automated check that flags any contact where a critical field is past its freshness date. Then you either suppress that contact from campaigns or queue a re-engagement touch. Luna: Suppressing feels risky though. What if it's a hot lead whose data just hasn't been refreshed? Lucas: That's why you tier it. For high-score leads, you might route to a sales development rep to verify before suppressing. For lower-scored ones, you trigger a simple email saying 'We noticed your info might be outdated — click here to update.' That's a common pattern, but very few teams actually wire it into their automation. Luna: Let's get concrete. What's a real-world number on how much stale data costs? Lucas: A B2B SaaS company I've worked with — call them CloudSpan — had a lead scoring model that decayed over six weeks. After a CRM migration, their sync broke and data went unrefreshed for almost two months. Email engagement dropped thirty-four percent. Not because the copy was bad — because they were sending 'Welcome to CloudSpan' emails to people who'd been customers for months. Luna: Ouch. And how did they fix it? Lucas: They built a weekly Python script that queried the CRM's 'last modified date' on four critical fields: job title, company, phone, and lead score. Any contact where any of those was older than thirty days got flagged into a 'stale' list that was excluded from all automated campaigns until re-verified. Within three weeks their engagement rates recovered. Luna: So the script essentially enforced the SLA. But what about the fields that aren't easily scorable — like 'industry'? Lucas: That's where you use a recency score. Assign each field a decay rate. Industry might be slow-decaying — maybe ninety days. Job title faster — sixty. Lead score fastest — thirty. Then compute a composite freshness score per contact. Below a threshold, hold them from any automated journey. Luna: I like that. A single number that tells you 'this contact is safe to use' or not. Lucas: And you can surface it in a dashboard. Marketing ops sees which segments are 'at risk' before a campaign fires. I've seen teams reduce their stale-contact rate from twenty percent to under four percent in two months just by adding that visibility. Luna: Honestly, if today was worth a coffee to you, that's the link — buy me a coffee dot com slash fexingo. Lucas: Yeah, it's how we keep this show ad-free and focused on stuff that actually moves the needle. Luna: So back to that freshness score — you mentioned a threshold. How do you set it without being too aggressive? Lucas: Start with your highest-volume campaign. Pull the list and check the 'last modified date' distribution on the fields you're using for personalization. If twenty percent of contacts have a job title older than ninety days, that's your baseline. Then set a goal to cut that in half. Adjust the threshold iteratively — you don't want to suppress twenty percent overnight. That would tank your send volume. Luna: So you're saying the SLA should be aspirational but phased? Lucas: Exactly. Phase one: just report on freshness. Phase two: suppress contacts with the most stale fields — say, older than one hundred twenty days. Phase three: tighten to sixty or ninety. Each phase gives you a data point on how many contacts you're losing and whether your engagement lifts. Luna: What about the data sources? A lot of enrichment tools promise fresh data but they're not always accurate. Lucas: That's a separate problem. Enrichment tools can actually make freshness worse if they overwrite a manually verified field with a guess. I'd argue it's better to have a blank field than a wrong one. So part of the SLA should define which sources are trusted — typically internal CRM updates from sales reps, form submissions, or verified third-party sources like LinkedIn Sales Navigator. Luna: But sales reps don't always update fields. That's a perennial issue. Lucas: So you incentivize it. Tie a small portion of sales comp to data hygiene — maybe one percent of quota. Or gamify it. One company I know runs a 'Freshness Friday' where the rep with the most updated fields gets a $50 gift card. It's cheap and it works. Luna: I love that. And it aligns the SLA across teams. Lucas: Which is ultimately the point. A Data Freshness SLA isn't a technical fix — it's a cross-functional agreement. Marketing ops, sales ops, and RevOps all sign off on the thresholds. Then the automation enforces them. Without that agreement, the data rots. Luna: So what's the first step for a team listening right now? Lucas: Pull your most-used personalization fields and find the median 'days since last update' for active contacts. If that number is over sixty, you have a freshness problem. Then set a thirty-day SLA on at least one field — lead score is a good candidate — and build a simple automated exclusion rule based on it. See what happens to your click-through rates in two weeks. Luna: I've seen that work. A client of mine did it for email domain — they suppressed anyone whose email domain hadn't been verified in ninety days. Their deliverability jumped ten percent. Lucas: That's a great example. Email domain is a high-impact field because it directly affects bounces. And the SLA approach scales to any field you care about. Luna: One more question: how do you handle time zones? If a contact's time zone field is stale, you could send at the wrong hour. Lucas: That's a classic freshness trap. Time zones change — daylight saving, relocation. I'd set a sixty-day freshness SLA on time zone and suppress any contact where it's older than that from time-sensitive sends. Better to send at a neutral time than to wake someone up at 3 AM. Luna: So the SLA becomes a kind of risk filter. Lucas: Exactly. It's not about having perfect data — it's about knowing which data you can trust and when to hold back. That's the core of data-driven marketing automation: knowing what you don't know. Luna: Good place to land. Next week we'll tackle another automation blind spot. Lucas: Sounds good. Until then, keep your data fresh.