Skip to content

Engagement features

What it represents

Firmographics tell you who a record is. Engagement tells you what they have been doing. Campaign memberships, tasks, and events become counts and rates the model can learn from, so a lead that registered for two webinars this month is described differently from an identical lead that has done nothing.

You choose which sources to include, how to break them out, and which activity counts as a response. All of it happens in one panel, on the Engagement step of the model wizard.

How it’s calculated

For each source you enable, activity is counted over trailing windows · 30, 60, and 90 days by default · measured back from that record’s cutoff date.

Dimensions split those counts. Pick campaign type as a dimension and you get counts per type rather than one undifferentiated total, so webinar activity and cold-email activity can carry different weight. Rate filters turn a flag into a proportion: filter on responded and you get a responded rate alongside the raw count.

The cutoff is the part that decides whether any of this is honest. For a record that converted, the cutoff is its success date. For a record that did not, it is the non-success boundary. Activity after that point is excluded, always.

Set it up

The panel arrives switched off. These are its controls, in the order they appear once you turn it on.

  1. Turn the Engagement features panel on

    The toggle sits on the panel header, and the panel expands when you flip it. Turning it on also ticks one source for you, so the step is never left in a state that produces nothing.

    Leave it off only when there is no activity worth counting. If the connection returns no engagement data at all, the panel tells you that outright rather than showing you empty controls.

  2. Set the cutoff dates

    Two controls under Data cutoff dates. Success date is the field that records when a conversion happened. Non-success cutoff is either auto-detect, which uses the 90th percentile of your observed conversion times, or a specific date field you name.

    Take auto-detect unless you keep a real disqualified or archived date to point at. This is where the exclusion above is actually configured, which is why it comes before anything about sources.

    These two do not appear when the model was created from a score. The score owns them, and the wizard's first step shows the values it inherited instead of asking you again.

  3. Choose which sources are included

    Every engagement object the connection exposes renders as a card with a checkbox. CampaignMember sits at the top and is the only one ticked when a model starts from nothing, because on most Salesforce orgs it is the source that carries the signal. Event and Task render below it, unchecked and one click away.

    Tick those two when the objects hold activity your team genuinely maintains. Every source you add is more columns for the model to read, and columns with nothing in them are not free.

  4. Confirm the engagement date field

    Each included source carries its own Engagement date field dropdown: which date marks when that activity happened. The default the connection returns is right most of the time.

    Change it when the object dates the thing you care about somewhere else, such as a first-responded date on a campaign membership rather than the date the membership was created. This field decides which side of the cutoff a touch falls on, so it is what keeps post-outcome activity out.

  5. Add a dimension under Break down by

    Break down by takes up to three fields. On CampaignMember, start with campaign type: it turns one undifferentiated touch count into a count per type, so a webinar registration and a cold-email send stop weighing the same.

    Dimensions are additive rather than crossed, and only the top values of each field become features, so a second dimension adds columns rather than multiplying them.

  6. Add a rate filter under Rate of

    Rate of takes a field and a value and produces the share of that record's touches matching it. On CampaignMember the one worth adding is responded. Two people with ten campaign touches each are not the same person if one responded to seven of them and the other to none, and the raw count alone cannot tell them apart.

    The count always ships alongside the rate, and a rate built on very few touches is shrunk toward the source's average so that one response out of one touch does not read as a perfect record. When a source has no per-touch outcome to measure, the control does not render at all.

  7. Narrow the population with engagement filters

    Optional, and different from a rate filter. Engagement filters decide which activity records get counted in the first place, for example only responded campaigns or only webinars. A rate filter measures a share of everything; a filter here throws the rest away before counting starts.

    Reach for it when a source holds a large volume of activity nobody would call engagement, and skip it otherwise.

  8. Set the time windows

    Time windows is three buttons · 30, 60, and 90 days · all on by default. Each one you keep generates a count of that source's touches in that many days before the cutoff date.

    Keep all three. Together they are what lets the model tell a burst of recent activity apart from a steady trickle over a quarter. Those three are the whole choice, so the only adjustment available is dropping one, which is worth doing only when your cycle makes it meaningless.

What it means for you

That exclusion is not a technicality. Without it, post-conversion activity floods in, “attended the kickoff call” becomes the strongest predictor in the model, AUC looks superb, and the scores are worthless on a live record that has not converted yet. The cutoff is what makes the number mean something the day before the outcome instead of the day after.

Start with the sources your team actually maintains. A campaign object nobody has populated in a year adds columns, not signal, and the field health view will tell you which is which.

Everything in this panel is part of what the model is. Change a source, a dimension, or a window and you are describing your records differently, so retrain after you edit it.

Check your understanding

A person converted 60 days after being created. They show 2 webinar registrations in the 30 days before conversion and a 0.33 responded rate across email campaigns in the 90 days before it. Their onboarding sequence, sent the week after they converted, contributes nothing.

Read that back against the panel you just filled in. Campaign type as the dimension is what separated the webinar count from everything else. Responded as the rate filter is where the 0.33 came from. The 30 and 90 day buttons are why there are two spans rather than one. And the success date is the reason the onboarding sequence is absent, even though it sits right there in the CRM.