← Services
Marketing automation audit

The marketing automation audit we run, as a checklist you can use

The checks our consultants run on an inherited Adobe Marketo Engage instance, HubSpot portal or Account Engagement (Pardot) org, in the five areas the free audit covers. None of it sits behind a form: run it yourself with an admin login, or ask for the free audit.

For teams that inherited an instance someone else built

Written for the marketing ops or RevOps lead who has taken over a Marketo instance, HubSpot portal or Pardot org set up by another agency or a departed contractor. It shows what is live, dead or broken before you change anything, and each check names the object to open in the platform’s own vocabulary.

6 checks

Database health

Every later check reads fields this section tells you to trust or retire, so it runs first. The counts come from our discovery method.

  • Field fill ratesFor every field (Marketo field, HubSpot property, Pardot prospect field), count the records holding a value and note when it was last written. Few values and no recent writes make a field a candidate to retire.
  • Duplicate person recordsIn Marketo and Account Engagement, count duplicates by email address, including the same address in different casing, and note which system created each copy. HubSpot keeps one contact per email address, so there, look for the same person under a second address.
  • Country and State valuesList the distinct values in each. Several spellings of one place means no trigger campaign, workflow or automation rule is normalising them on create and update.
  • The suppression listConfirm it holds all four inputs: hard bounces, global unsubscribes, complaint and spam-trap flags, and the manual do-not-contact lists that legal, HR and sales usually keep in spreadsheets.
  • The unsubscribe pathMap the platform’s opt-out field (Unsubscribed, in Marketo) to the CRM opt-out field and any consent fields, and write the mapping down if nobody has.
  • Consent evidenceFor each population you mail, find the lawful basis, point of capture, date and where the proof sits. Flag any population without evidence in the platform.
5 checks

Lead routing and scoring

A fault here costs pipeline without raising an error anywhere in the platform. The queue and test-record checks come from the revenue continuity lens.

  • Assignment rules and queuesFor every assignment rule, name the queue or owner it assigns to and confirm someone opens the leads that land there. A queue nobody works passes every technical check.
  • Routing test recordsPush a record through routing for each country or segment the rules branch on, plus one with a blank country, using records a rep would open. Placeholder leads prove nothing about real ones.
  • Score fields and the MQL thresholdList every score field and the one sales reads. Check the MQL threshold is written down and agreed with sales, outside the smart list or workflow filter that applies it.
  • Behaviour and fitCheck whether one score field is carrying both. Account Engagement separates score (behaviour) from grade (fit); Marketo ships one numeric score field and no grade, so fit has to be built as its own field.
  • First-touch sourceFind the field that holds first touch and check that later visits, imports and integrations cannot overwrite it.
6 checks

Programme structure

On the migrations we have run, most of the asset list turned out to be dormant. These checks find the short list holding the system together. The two-quarter archive rule is from what breaks in a migration.

  • Last-run datesPull the last-run date for every smart campaign, workflow, automation rule and Engagement Studio program. Anything that has not sent an email or written to a field in two quarters goes on the archive list.
  • Form submissions by monthCount submissions per form by month. Lifetime totals hide forms that stopped taking submissions years ago.
  • Program ownersPut a named person against every active program, someone who would notice if it stopped. No owner and no recent activity puts a program on the archive list.
  • Triggers in batch campaignsIn Marketo, check that the smart list of every campaign meant to run as a batch holds no triggers. A trigger left in can process a large number of people the moment someone runs an import.
  • Tokens and hardcoded linksCheck cloned program folders for token inheritance, and emails for hardcoded URLs where a program token (Marketo) or a snippet (Account Engagement) belongs.
  • Pardot dynamic listsCompare each dynamic list’s member count with what its criteria were meant to catch. One loose rule can pull in far more of the database than anyone intended.
6 checks

Sync integrity

A permission missing from the sync user shows up later as a partial sync, with no error raised on the day it starts. The sync user check comes from a Pardot to Marketo consolidation.

  • Sync user field-level securityCheck the Salesforce sync user’s field-level security on every field the marketing platform reads or writes. Custom fields created after the profile was made are where it is usually missing.
  • The sync error logGroup the last month of sync errors by object and field, and name who clears each group.
  • Fields with two writersFor every field more than one system writes, Lead Source included, record which system wins and in which direction it syncs.
  • Campaign member statusCheck the mapping from program status to Salesforce campaign member status on every program that syncs to a campaign. When it is wrong, campaign attribution is wrong for everything downstream.
  • Other integrationsList every webhook, enrichment tool, nightly file drop and BI extract that writes to or reads from the database, with a named owner against each.
  • Enrichment write-backCheck that enrichment only fills empty fields and records where each value came from, so an enrichment run cannot overwrite a value a person entered.
6 checks

Reporting accuracy

Reports inherit every gap above. These checks cover what the website captures and which fields the reports read. The form checks are written up in website forms during a migration.

  • Hidden fieldsSubmit every live form and check the hidden fields arrive: UTM parameters, GCLID, referrer, source and sub-source, and consent flags. A form can look correct in the browser while dropping all of them.
  • The tracking scriptConfirm Munchkin, the HubSpot tracking code or the Account Engagement tracking code is on every page, including pages built outside the CMS. Pages without it drop out of source data while every report still runs.
  • Form endpointsFor each form, note whether it is a native form or a site form posting to a form handler or API endpoint, and whether that endpoint still exists. Old form handlers keep accepting posts long after they were meant to be switched off.
  • Lifecycle timestampsCheck a timestamp is written on every lifecycle stage transition, and list the reports that read them.
  • The source-of-record fieldFind the field behind the pipeline-by-source number finance uses, and check the dashboards read the same field.
  • A zero-submission alertCheck there is a daily submission count for every form that normally submits daily, with an alert on zero routed to a person, and a weekly count for the rest. Without one, a broken form is found by a salesperson asking why their inbox is empty.

What we fix first, and why

We order findings by what the business feels first. A lead that never reaches a seller costs pipeline this quarter, while an untidy field list costs little until someone reports on it.

01

Lead flow to sales

Routing into queues nobody works, forms posting to dead endpoints, and sync errors on the fields routing reads. Test these with a record a rep would open.

02

Suppression and the unsubscribe path

Mailing someone who opted out stops being embarrassing and becomes reportable, so the suppression exports get reconciled by hand.

03

Source capture

Hidden fields and the tracking script. Every attribution report built later inherits the gap, and a value a form failed to capture cannot be recovered afterwards.

04

Scoring and lifecycle definitions

Agreed with sales before any threshold changes, so a thinner MQL queue arrives as a decision sales took part in.

05

Program and field clean-up

Archiving dormant programs and retiring empty fields goes last because nothing breaks while it waits, and the audit list turns it into a scheduled job.

What the free audit gives you

If you would rather we ran it, the initial system audit is free. It covers the five areas above and ends with a prioritised list of improvements, with estimated effort and impact against each. After an acquisition, that list feeds the six decisions behind a marketing automation consolidation.

If you use MarqIQ, the software we build, its audit reports show field completeness for every contact property the connected tool exposes, which gives you the counts for the fill-rate check but not when each field was last written. Deciding which fields to retire still needs someone who knows what wrote to them.

About the audit

What does a marketing automation audit check?

Five areas: database health, lead routing and scoring, programme structure, sync integrity and reporting accuracy. That means fill rates per field, the queue behind each assignment rule, last-run dates on programs, the sync user’s field-level security and the hidden fields on each form. The output is a list of what is live, dead or broken, with effort and impact against each item.

Is the marketing automation audit free?

Yes, the initial system audit is free. It covers your marketing automation setup, CRM configuration and key workflows, and ends with a prioritised list of improvements with estimated effort and impact for each. You can act on the list with us or with your own team. To ask for it, use the contact form and choose Free System Audit.

Can we run the checklist ourselves?

Yes. None of it is gated, and each check names the object to open. You need an admin login to the marketing platform and a Salesforce login that can view the sync user’s profile and permission sets in Setup. Run database health first, since the later checks read its fields, then fix routing and suppression findings before anything else, because those cost leads or mail people who opted out.

Ask for the free audit

Tell us which platform you run, which CRM it syncs to and who set it up. We run the five areas above and send back the prioritised list.

Please use your company email

is a personal address. We take enquiries from company email addresses only — it tells us who we’re speaking with, so the first call is about your setup rather than introductions.

For example, name@yourcompany.com