Skip to content

Scheduled bulk campaign association backfill for historical contacts

One of 565 written HubSpot workflow specs, by a collective of independent HubSpot consultants.

Professional

Seat pricing: Professional edition. To build it, a GTM Seat or an Ops Seat (an Ops Seat cannot create marketing emails or sequences). Per-hub plans: Data Hub Professional.

Contact6 stepsUpdated for HubSpot seat pricing
OutcomeHistorical contacts that were never formally associated with the HubSpot campaign they actually came from get associated in bulk, so campaign-level reporting stops silently excluding pre-automation-era leads.
Workflow mapmarketing-ops-047
List membership + status = Pending leads to Custom code: match proxy value to Campaign, associate. Custom code: match proxy value to Campaign, associate leads to outcome?. outcome? leads to Associated: Set status = Associated; Skipped: Set status = Skipped; Failed: Set status = Failed, notify marketing ops. Associated Skipped Failed List membership + status = Pending Custom code: match proxy value to Campaign, associate outcome? Set status = Associated Set status = Skipped Set status = Failed, notify marketing ops
List membership + status = Pending leads to Custom code: match proxy value to Campaign, associate. Custom code: match proxy value to Campaign, associate leads to outcome?. outcome? leads to Associated: Set status = Associated; Skipped: Set status = Skipped; Failed: Set status = Failed, notify marketing ops. List membership + status = Pending Custom code: match proxy value to Campaign, associate outcome? Associated Set status = Associated Skipped Set status = Skipped Failed Set status = Failed, notify marketing ops

When to use it, when not to

Use it

  • Use once, when a portal starts using HubSpot's Campaigns tool for attribution reporting but a backlog of older contacts predates that setup and lacks the association.
  • Use as a one-time or occasional cleanup, not an ongoing workflow.
Read more on when to use itShow less

Skip it

  • Do not use for new, ongoing contacts. Wire proper campaign association into your live capture process (forms, ad integrations) going forward, and use this fiche only for the historical backlog.
  • Do not run this without Data Hub Professional or higher. This fiche depends on a scheduled, no-native-trigger batch operation and custom coded bulk association calls, both Data Hub-tier capabilities per this taxonomy row's declared minimum.
Read more on when to skip itShow less

The rest of this spec

Prerequisites · 4 items

Every property with its label, internal name, type and options, plus the assets the workflow needs.

Enrollment · 4 parts

The trigger, the criteria as ticked in the UI, the re-enrollment rule and the suppression list.

Steps · 6 numbered actions

Each action in order with its parameters, branches and delays.

Known pitfalls · 4

Traps seen in production, each with what breaks and what to do instead.

Test plan and UAT script · 4 cases, 3 variants

How to prove it works in a test portal, one case per branch, and a sign-off sheet.

Files · PDF, Markdown, JSON, CSV, code

The properties JSON creates the fields in one call. The workflow JSON documents the build. The custom coded action ships as a ready-to-paste .js file.

Install · 1 click, switched off

The installer creates the properties and the workflow, switched off, then opens a task for what it cannot create. Nothing is deleted, enabled or enrolled.

Unlock all 565 specs, 149 EUR

One-time, excl. VAT. 30-day refund. Installs in 3 portals. Founding price until 30 November.

Read the free Marketing ops spec

Read 12 complete specs before you pay.

One per category, same format as the paid ones. Email only, no card.

We email the link, then a short note when specs change. Nothing else.

149 EUR199

Full library, 565 specs
Get the full library