Skip to main content

Wallet campaigns

A pass template defines the default look and content of a pass, and an enrollment form distributes it. A Wallet campaign is the third piece: it lets you push a coordinated update to passes that have already been issued, without recreating the template or asking customers to download a new pass. The change is applied directly to the pass living in Apple Wallet or Google Wallet.

Wallet campaigns come in two types. A temporary campaign updates passes for a defined period and then reverts them, which suits flash sales, seasonal promotions, events, or holiday campaigns. A scenarized campaign is driven by your Actito scenarios: a scenario start event triggers the flow, and an action block applies the campaign to update the pass fields of each profile that passes through it. It has no end date: each update overwrites the previous value, which then stays on the pass, so there is no revert to the template. A typical use is adding loyalty points and visits after a purchase. You choose the type when you create the campaign, and it is recorded as the campaign mode.

To create and manage campaigns, go to Hub > Wallet > Manage wallet campaigns. This area lists your campaigns and is where you create a new one, review an active campaign, or stop one.

Field exclusivity across campaigns

To keep the result on your customers' passes predictable, a given field can be updated by only one active campaign at a time, whatever its type. Two campaigns never compete over the same field, which would make the value finally shown on the pass ambiguous. Several campaigns can therefore run in parallel, as long as they update different fields.

The notification field (messageWithNotification) is the one exception: it is not subject to exclusivity, so several campaigns can send their own notification at the same time.

info

On top of that, you can run only one temporary campaign at a time on a given template. A new temporary campaign cannot be activated while another is still within its active period.

For example, a temporary Back to school campaign updates heroImage, stripImage, the Offers field, and the notification, while a scenarized Post-purchase loyalty campaign updates the points field, the visits field, and the notification. These two campaigns can run at the same time: they touch different content fields, and the notification field they share is exempt from exclusivity.

Choosing a campaign type

When you create a campaign from Wallet campaigns, you first pick its type on the Choose a campaign type screen, then start From blank.

Choose a campaign type

A temporary campaign personalises wallet passes for a defined period. Existing passes can be updated and profiles notified while the campaign is active, and everything reverts to the template once the period ends. Typical uses: flash sales, seasonal promotions, events, or holiday campaigns.

Both types use the same five-step wizard described below. The differences between temporary and scenarized are called out at the steps where they apply.

Step 1 - Campaign details

The first step defines what the campaign targets, and, for a temporary campaign, when it runs.

Campaign details

FieldDescription
Campaign nameThe internal name of your campaign. Only visible to you and your team in the dashboard. Customers never see it.
LanguagesTick the languages the campaign will provide content for. The list reflects the languages configured for your licence. You can define the default language when several ones are ticked.
Wallet pass templateThe template the campaign applies to. Every pass generated from this template, and, optionally, every pass already issued from it, is in scope.
EntityThe entity in which the campaign runs.
Profile tableRead-only. This is automatically set to the profile table linked to the selected pass template.
Active periodTemporary campaigns only. The date range during which the campaign is active. Use Select a date range to define the start and end dates. As a reminder, you cannot run two temporary campaigns on the same template at the same time.

A scenarized campaign has no active period: it keeps applying its updates with no fixed end, so the date range does not appear for this type.

For a temporary campaign, the active period drives when updates are applied and removed.

info

Campaign activation is processed once a day, at 9:00. Because of this, you cannot set a start date on the current day: the earliest a temporary campaign can start is the following day.

When you open Select a date range, a two-month calendar lets you set the start and end dates. Days already covered by a planned temporary campaign on this template are marked (see the Planned campaign(s) legend) and cannot be selected, since only one temporary campaign can run on a template at a time. Past days, and the current day, are not selectable either.

Date range picker

tip

For a temporary campaign, passes generated while the campaign is active (for example, a customer enrolling during the campaign) automatically receive the campaign values; once the period ends, newly generated passes fall back to the template defaults.

Step 2 - Fields selection

This step controls which parts of the pass the campaign is allowed to change. Fields that are not selected keep using the default template values, both for passes already issued and for passes generated while the campaign is active.

Fields selection

The fields available depend on the pass template selected in Step 1. They are grouped into Colours, Images, Fields, and Notification, each with a Front subsection. Tick the ones the campaign is allowed to update.

Each field carries one or more icons showing which wallet platform it applies to: Apple, Google, or both. Some fields exist on a single platform, so the icons tell you where an update will actually take effect.

The Notification group contains messageWithNotification, the field that carries the push message sent to the pass holder when the pass is updated. Tick it to let the campaign set that message. See Wallet notifications for how notifications work and how to configure them.

note

A field that is already reserved by another active campaign appears greyed out and cannot be selected. This is what enforces field exclusivity: only one campaign can update a given field at a time. If you need such a field, wait until the other campaign frees it.

info

The counter next to each group header shows how many of its fields are currently selected, for example Colours (0), Images (0), Fields (0), Notification (0).

Step 3 - Pass versions

Once the fields are selected, you define the values the campaign will push. You fill in the values in the default language defined in the first step. These are also the values used to preview the pass.

Pass versions

A campaign can hold up to five pass versions, shown in the Versions panel on the left. The base version is the Fallback version: it holds the default values and applies to any profile that does not match another version. Use Add to create additional versions that target specific audiences.

Add a version

Use Add to open the Add new version panel and create a version that applies only to profiles matching a set of conditions.

Add new version

Give the version a Version name, then define its audience under Data sources:

  • Choose whether a profile must respect all (AND) or any (OR) of the conditions.
  • Use Add a source and Select a source to base a condition on all data from the data model, Add a module to add a condition, and Add an OR group to combine conditions.

Once saved, the version appears in the Versions list next to the Fallback version.

Fill in the content

Select a version in the list, then set its values. You do this separately for each wallet platform, using the Apple and Google tabs.

On the Apple tab, set the values for the Apple Wallet version of the pass. The Images section lets you upload an image to overwrite the current value, and the Fields section lets you type a value to overwrite the personalization defined in the template. The template default is shown beneath each field.

Use Personalization to insert a profile attribute instead of a static value, so that each pass resolves to the recipient's own data rather than to a single fixed value. You can also reuse or create a personalization directly from a field.

Use the language selector at the top right to fill in the values for each language declared in Step 1. The preview on the right is provided for information only and may not reflect the final appearance of the pass.

Version order

A single profile can match more than one version at the same time. When that happens, Actito applies the first matching version, following the order of the versions in the list from top to bottom. Order your versions from the most specific to the most general so that each profile resolves to the version you intend. The Fallback version applies to any profile that matches none of the other versions.

Step 4 - Check and test

This step lets you preview how the campaign renders for real profiles before activating it.

Check and test

Choose a Testing group to load a set of test profiles. For each profile, the table shows:

ColumnMeaning
Test profileThe profile from the selected testing group.
In targetWhether the profile already holds a pass generated from this template. Only profiles that are in target can be previewed: if a profile is not in target, there is no existing pass to update, so no preview is available for it.
LanguageThe language that will be used for this profile.
CommentAn optional note attached to the test profile.
VersionThe campaign version that applies to this profile, based on the version order defined in Step 3. It shows None when the profile is not in target.
ActionsUse the eye icon to open an overview of the campaign content for that specific profile.

Clicking the eye icon opens a Pass preview for that profile, with an Apple and a Google tab so you can check both wallet versions.

Pass preview

info

It is not possible to send a test for this type of campaign. Use the "Actions" column to review the campaign content for each profile in your test group instead.

Step 5 - Activate

The final step summarises everything you configured and lets you activate the campaign.

Summary and activation

The Summary recaps your configuration. The General data section shows the name, the Campaign mode (temporary or scenarized), the languages, the pass template, the entity and, for a temporary campaign, the active period. Two more sections recap the fields selection and the pass versions. Expand each section to verify your configuration before activating.

info

Updates are pushed to the wallet providers progressively. Google applies a rate limit of 20 updates per second, so on a large audience the rollout to all passes can take some time after activation.

Updates all existing passes

For a temporary campaign, the Updates all existing passes toggle controls the scope of the campaign:

ToggleBehaviour
EnabledThe defined updates are applied to all existing passes linked to the pass template, in addition to passes generated while the campaign is active. Existing passes are updated starting from the campaign activation date.
DisabledOnly passes generated while the campaign is active receive the updates. Passes already in customers' wallets are left unchanged.

A scenarized campaign does not show this toggle: it applies its updates as your customers' activity triggers them, rather than in a single pass over the existing passes.

When you are ready, click Activate to start the campaign.

note

For a scenarized campaign, activating does not start a timed run. It makes the campaign available in your scenarios: add it to an action block so that, when a profile reaches that step after a start event, the campaign updates the selected pass fields for that profile.

warning

For a temporary campaign, activating with Updates all existing passes enabled changes passes that are already in your customers' wallets. Double-check your field values and active period before activating, and remember that only one temporary campaign can run on a template at a time.

View an active campaign

Once a campaign is activated, you can open it from the Manage wallet campaigns list to review its definition. The view is read-only and shows the same information as the Step 5 summary: general data, fields selection, and pass versions. Use it to confirm what an active campaign is currently doing, without any risk of changing it.

Stop a campaign

A temporary campaign ends in one of two ways: automatically, when its active period reaches the end date, or manually, when you stop it yourself. A scenarized campaign has no end date; it keeps updating its fields until you stop it or until another campaign takes them over.

When a temporary campaign ends, all passes linked to the template roll back to the default content defined in the pass template. To stop it before its end date, open it from the Manage wallet campaigns list and click Stop: the rollback is then applied immediately. Stopping also frees the fields the campaign was reserving, so another campaign can use them.

A scenarized campaign never rolls back. Because it has no end moment, each value it pushes simply stays on the pass until the next update replaces it. Stopping a scenarized campaign leaves the last values in place; it only frees the fields so another campaign can use them.

warning

Stopping a temporary campaign reverts every affected pass to the pass template baseline right away, including passes already in your customers' wallets. To re-apply values afterwards, you need to run a new campaign.

Chaining campaigns

There is one exception to the rollback. If a second temporary campaign is scheduled to start on the same template right when the first one ends (back-to-back active periods), the passes do not roll back to the template baseline in between. Instead, they move straight from the first campaign's content to the second campaign's content.

Was this page helpful?