Best practice for stamping a person-level flag based on program engagement (forward-looking only) | Community
Skip to main content
Level 4
January 27, 2026
Question

Best practice for stamping a person-level flag based on program engagement (forward-looking only)

  • January 27, 2026
  • 4 replies
  • 119 views

I’m implementing a new person-level boolean field (flag) to identify leads and contacts acquired via our Marketo programs.

Our Salesforce instance is shared across multiple business units, so this flag is intended to identify only the leads acquired via our business unit’s Marketo activity.

The intent is forward-looking only (no historical backfill). I want the flag to be set when someone newly engages with relevant Marketo programs going forward, regardless of when the person record was originally created.

I’m trying to confirm the best-practice trigger setup for this.

One option I’m considering is a trigger campaign based on Person is Created, where the acquisition program is a Marketo program (excluding records syncing from Salesforce), and then setting the flag to true.

My goal is a clean, scalable approach that avoids manual maintenance and does not retroactively update legacy records.

Would appreciate guidance from anyone who’s implemented a similar pattern. Thanks!

4 replies

SanfordWhiteman
Level 10
January 27, 2026

I’m confused about your suggestion of a trigger based on Person is Created. How would that conform to “newly engages… regardless of when the person record was originally created?”

 

Do you want to catch existing people doing newly interesting things, or only new people doing an interesting thing on their way in?

Level 4
January 27, 2026

For this purpose, I’d like to catch only new people doing an interesting thing on their way in.

SanfordWhiteman
Level 10
January 27, 2026

Then your plan is fine. Person is Created with non-empty Acquisition Program at time of creation means they were created by engaging at the program level. 

Level 2
January 27, 2026

For a forward-looking approach, avoid Person is Created. Instead, use a trigger campaign on program engagement (e.g., Program Status is Changed to a meaningful engaged status within your BU’s programs) and set the person-level flag at that point. This ensures the flag is only stamped when someone newly engages, regardless of when the record was created, and avoids retroactive updates.

To keep it clean and scalable, scope the trigger to programs under a specific channel/tag or folder structure tied to your BU, and include a constraint to skip records syncing from Salesforce if needed.

saurabh from miinfotech.com
Sant_Singh_Rath
Adobe Champion
Adobe Champion
January 29, 2026

If the goal is to flag anyone who is acquired via your business unit’s Marketo activity going forward, the cleanest and most scalable approach is to key off first meaningful Marketo engagement tied to a program owned by your business unit, not record creation timing.

A pattern that works well in shared Salesforce instances is:

  • Use a person-level trigger where the constraint is Member of Program (or Program Status is Changed) for programs under your business unit’s folder.

  • Add a condition that the boolean flag is currently false.

  • Set the flag to true the first time the person qualifies.

This ensures that ongoing maintenance is limited to folder governance, not individual program updates. I’d also recommend not relying on acquisition program alone for this use case. Acquisition Program can change over time and may be set by form fills, imports, or edge cases you don’t fully control. Using program membership or status change gives you a more explicit and auditable trigger.

 

~ Sant Singh Rathaur
Level 1
January 29, 2026

hey

PeeyushSachdeva
Level 3
January 29, 2026

Hi ​@Nurture_Ninja

 

A common best-practice pattern is to set the flag based on program engagement, not person creation, since you want it to be forward-looking and triggered when someone participates in your Marketo programs — regardless of when the record was created.

 

Recommended pattern (centralized, low maintenance):

Create a single operational campaign that:

Trigger

  • Program Status is Changed (often better if you only want meaningful engagement)

With constraints:

  • Program Name contains your BU naming

(This keeps it automatically scoped to programs your team owns without manual updates.)

Flow

  • Change Data Value → set your boolean flag = true

Smart Campaign settings

  • Qualification rule: Person can run through flow once

  • Optional filter in Smart List: flag is false (avoids unnecessary updates)