Skip to main content
allGood automates your marketing in three layers. Policies keep your data clean and make decisions about each person. Plans run campaigns by moving people through statuses. Motions are ready-made campaign types that build plans for you. This article explains each layer, and how they replace what you’d build with smart campaigns and programs in Marketo.

Why it’s built this way

In Marketo, every smart campaign carries its own piece of the logic: data cleanup, routing, suppression, scoring. That logic ends up spread across hundreds of campaigns. No single place can answer “what’s happening to this person, and why?” allGood separates the jobs. Data cleanup and decisions happen once, in policies, and every campaign reads the result. Campaigns stay simple because they don’t each re-implement the rules. And because every step is logged with a reason, you can always explain why someone got an email — or didn’t.

Policies: clean up and decide

A policy is one rule that reads some fields, decides something, and writes the answer back as new fields. Common examples:
  • Map a free-text job title onto a fixed set of job roles, and a separate set of job levels.
  • Work out a person’s time zone from incomplete data, so emails go out at their local time.
  • Assign a sales theater from a company name typed with four typos.
  • Choose one trusted value for a field when Salesforce and Marketo disagree.
Every policy declares three things up front:
  • Inputs — the exact fields it reads. It can’t see anything else.
  • Logic — how it decides. This is either a formula, like a spreadsheet formula, or an AI agent with instructions. A policy can try a formula first and hand only the hard cases to the agent.
  • Outputs — the exact fields it writes, and any actions it may take.
Because inputs are declared, a policy re-runs automatically only when one of its input fields changes. Its outputs stay current without anyone scheduling a batch. One policy’s output can be another’s input, so policies chain together. A job-level policy can feed a lead-routing policy, for example. Policies can also run only on people who pass a gate — for instance, “only once this person has a company name.” You can preview who passes a gate before the policy runs.
Policies do the work that Marketo data-management smart campaigns do today — normalization, scoring, lifecycle stage and routing. Once they run, you build segments on the clean fields they write.

Plans: run a campaign

A plan is a campaign’s engine. It works much like a Marketo program’s statuses, with the flow logic built in.
  • States are statuses, such as Promoted, Delivered or Unsubscribed. Each person in a plan is in exactly one state at a time, and that state is their status.
  • Transitions move a person between states when something happens. That might be a form fill, an email click, or a change in their data.
  • Actions fire while a person is in a state: send an email, publish a landing page, update a Salesforce campaign member. An action can fire right away or after a delay, measured from when the person entered the state.
Leaving a state cancels any of its actions that haven’t fired yet. If someone converts, their remaining promotional emails are cancelled automatically — you don’t have to build a separate suppression rule. Every state change and every send attempt is logged with its reason. “Why didn’t Jane get the reminder?” has one answer you can read.

Motions: ready-made campaign types

A motion is a campaign type with its flow already designed, such as gated content. Instead of assembling a program step by step, you fill in what’s specific to this run — the content, the audience, the copy — and allGood builds the plan. Motions work at three levels: Because every gated-content motion follows the same shape, they’re comparable. You can ask how all your gated assets perform without maintaining a spreadsheet. See Motions.

How this maps to Marketo

Who sets this up

allGood builds your first set of policies and motion templates with your team, and walks you through each one. After that, your team can add more themselves. You can also describe what you need in plain language and have an agent in allGood draft the policy for you to review.

Still have questions?

Contact support@allgoodhq.com, or ask your allGood implementation lead.

Identity resolution

How allGood assembles the people and companies that policies and plans act on.

Snowflake data sharing FAQ

Common questions from data teams, including how to audit what policies changed.