One delivery per campaign per contact per day in Campaign

In Adobe Campaign v8 Client Console, you can limit deliveries to one message per campaign, per contact, per calendar day by using a Pressure-type typology rule, a delivery filter, and a Campaign Typology. To fix this, configure the Pressure rule, scope it to the campaign, link it through a Campaign Typology, and set the delivery contact date.

Description description

Environment

  • Product: Adobe Campaign
  • Version: v8
  • Client: Client Console
  • Feature area: Typology Rules, Pressure Rules, and Campaign Optimization

Issue/Symptoms

  • Contacts who already received a delivery from a campaign on a given day must be excluded from subsequent deliveries from the same campaign that day.
  • A delivery sent on Day 1 doesn’t resume on Day 2 as expected. It skips an extra day and resumes on Day 3, typically around 12:00 AM.
  • The pressure rule isn’t evaluated when the delivery doesn’t have a contact date.
  • The same configuration doesn’t automatically apply to a different campaign because the delivery filter uses a campaign-specific internal name.

One delivery per campaign, per person, per day is a marketing fatigue and deduplication requirement. Contacts who already received a delivery from a given campaign on a given day must be excluded from any subsequent delivery from the same campaign that day.

Adobe Campaign doesn’t offer a single toggle for one delivery per campaign per day. The following three objects work together:

Object
Role
Typology Rule with Pressure type
Defines the limit of one message per recipient per day.
Delivery filter with Limit the deliveries…
Scopes the rule to count only deliveries belonging to the target campaign.
Campaign Typology
Links the rule to the campaign so Campaign enforces it.

Known limitation: Not yet reusable across campaigns

The current configuration scopes the rule to a single campaign through a hardcoded internal name filter: operation/@internalname equal to '<campaign-internal-name>' in the Limit the deliveries… query.

To apply the same one-per-day-per-campaign logic to a different campaign, create or edit a new Typology Rule or update the filter value for each campaign. Adobe Campaign doesn’t currently provide a native, dynamic mechanism that automatically scopes one rule to whichever campaign the delivery belongs to without editing the filter condition each time.

This scalability requirement is a design and architecture consideration rather than standard configuration. Contact Adobe for guidance on evaluating the following approaches:

  • A per-campaign Typology templated from a standard pattern. This still requires a new Typology for each campaign.
  • A dynamically scoped filter or expression that correlates with the delivery’s own parent campaign at evaluation time. This requires custom expression or rule design.

Resolution resolution

Follow these steps to resolve the issue.

Step 1: Create the typology rule

Go to Administration > Campaign Management > Typology rules and create a new rule.

  • Label: For example, one-delivery-per-campaign-per-day
  • Rule Type: Pressure
  • Channel: Email

Step 2: Configure the Pressure tab

Open the Pressure tab of the rule and configure the following values:

Field
Value
Notes
Targeting dimension
Recipient
The rule counts per contact.
Period considered
0d
See the common pitfall in this article.
Period type
Grouping per day
Groups the period by calendar day.
Threshold type
Constant
Uses a fixed cap instead of a per-recipient formula.
Quantity
1
Sets the maximum to one message per recipient per period.
Count messages on a linked dimension
Unchecked
Not required unless you cap delivery at a related-object level, such as a household.

Step 3: Scope the rule to the campaign

Under Messages to count, click Limit the deliveries…. This opens a filter query that determines which deliveries the rule counts.

Configure the following filter condition:

Field
Value
Expression:
Internal name (operation/@internalname)
Operator:
equal to
Value:
The campaign’s internal name, such as <campaign-internal-name>

This filter scopes the rule to a single campaign. To reuse this pattern for another campaign, update the filter value to reference the new campaign’s internal name.

Go to Administration > Campaign Management > Typology management. Create or reuse a Typology, such as frequency-cap, and add the rule created in Step 1 to its Rules tab.

Label
Channel
Phase
Execution order
one-delivery-per-campaign-per-day
Email
At the start of targeting
50

Step 5: Associate the Typology with the campaign

Reference the Typology, such as frequency-cap, in the campaign’s or delivery template’s Properties > Typology tab. This ensures that every delivery created under the campaign inherits the rule.

Example test campaign: <campaign-test-name>

Step 6: Configure delivery scheduling to trigger the rule

Pressure rules evaluate a delivery’s contact date. Open the delivery’s Scheduling dialog and configure the following settings:

Select Schedule delivery (no automatic execution).

Under Provisional analysis, set Extraction calculation to current date through GetDate().

Under Provisional analysis, set Contact date calculation to current date through GetDate().

Without a contact date set on the delivery, the pressure rule isn’t evaluated. This is a mandatory prerequisite.

Expected behavior after configuration

Once you configure the rule and run the workflow:

  • A recipient receives at most one delivery from this campaign per calendar day.
  • If the same delivery or a different delivery under the same campaign is triggered multiple times on the same day, the recipient receives only one email. Subsequent attempts exclude the recipient through arbitration.
  • Contacts who already received a delivery from the campaign that day appear as excluded in the delivery’s Analysis, Exclusions, and Audit tabs.

Common pitfall: The extra skipped day

Symptom: A delivery sent on Day 1 doesn’t resume on Day 2 as expected. It skips an extra day and resumes on Day 3, typically around 12:00 AM.

Root cause: The Period considered field is set to 1d instead of 0d. With Period considered set to 1d, Adobe Campaign’s exclusion window includes both the send day and the following calendar day. This creates a two-day exclusion window instead of the intended single-day cap.

Fix: Set Period considered to 0d and Period type to Grouping per day. This scopes the exclusion window to the calendar day only.

Why eligibility resets near midnight: The rule is evaluated on a calendar-day basis, not as a rolling 24-hour period from the exact send timestamp. Recipient eligibility is recalculated by the nightly Forecasting and Campaign jobs workflows. As a result, the next eligible window opens close to 12:00 AM instead of at the exact hour of the prior send. This is expected behavior when calendar-day grouping is used.

Validation checklist

  1. Create two test deliveries under the same campaign that target an overlapping population and schedule them on the same calendar day.
  2. Send delivery 1 to completion and confirm that the recipient log is updated.
  3. Prepare delivery 2 and check the Exclusions tab. Overlapping recipients should appear as excluded and cite this rule.
  4. Repeat with deliveries scheduled a day apart. Previously excluded recipients should be eligible again.
  5. Confirm that both deliveries have a contact date set through GetDate() or a manual date. This is required for the rule to evaluate.
  6. Check the delivery’s Audit > Causes of exclusion tab to confirm that the rule name or ID appears against excluded recipients.

Notes:

  • The delivery filter scopes the rule to a single campaign. Update the filter value when you apply this pattern to another campaign.
  • The rule requires a delivery contact date before it can be evaluated.
  • Set Period considered to 0d with Period type set to Grouping per day to avoid the extra skipped day.
recommendation-more-help
experience-cloud-kcs-help-kbarticles