Customer Journey Builder

Message presets

Build a message once – copy, media, personalization, every language version, every platform setting – and reuse it in campaigns, journeys and API sends. Push, email, in-app, SMS, WhatsApp, Kakao and LINE all read from the same saved preset.

Push preset editor showing message body, media, language tabs and a live device preview

You are not writing this message for the first time

Somewhere on your team, the same order confirmation gets typed out again for the third campaign this quarter – same offer, same product line, a few minutes lost matching last month’s tone. Nobody decides to rebuild it from scratch; it just happens, every time a new campaign or journey needs a message a different one already had. A message preset is where that message lives once, so the next campaign picks it up instead of starting over.

What a preset actually holds

Full message definition

Title, body, media, personalization tags, custom data, badge behavior, sound, priority and the deep link it opens.

Built-in multi-language

A version per locale, matched to each device automatically, with a default fallback when nothing matches.

Test before you save

A test send, a live platform-specific preview, and Liquid syntax checked as you build.

One model, built once, reused everywhere it fits

A push preset stores the title, subtitle on iOS, body text, media, personalization through user-data tags, custom JSON data, badge behavior, sound, delivery priority and Android notification importance. Build it in Content, or inline from a journey step – either way you get the same reusable object.

Every other channel has its own equivalent: email templates, in-app templates, SMS, WhatsApp, Kakao and LINE presets, all following the same assemble-once pattern. One consistent preset model spans all 7 channels, including Kakao and LINE – most template systems stop at email.

Why this matters inside Customer Journey Builder

A journey that rebuilds its message content at every step does not scale past a handful of campaigns, and it stops staying consistent the moment two people touch it. A preset lets a send step in Customer Journey Builder reference content that already exists, so the flow inherits whatever care went into building that preset the first time.

Confirmed at platform scale

Across the platform, 69% of send steps carry a saved preset rather than inline content, and that share reaches 93.4% for the two most common channel types – checked directly against production journey data. The same preset object also gets picked up in one-off campaigns and API sends, so a fix made once reaches every one of those places at the same time.

Where this pays off most

Reuse compounds fastest in a few recognizable jobs.

JobWho reaches for itWhy it fits
Transactional and compliance-checked librariesE-commerce, fintech, airlines, food deliveryApproved content stays identical everywhere it is used, which matters as much for compliance as for consistency
Multilanguage campaign rolloutGlobal media, creator apps, marketplacesOne preset with every language built in serves the right version per device, without a duplicate campaign per market
Cross-channel reach into APACBusinesses running LINE (Japan, Thailand, Taiwan) or Kakao (Korea)The same reuse pattern extends to channels most platforms do not template at all
Job
1 / 3
Transactional and compliance-checked libraries
Who reaches for it
E-commerce, fintech, airlines, food delivery
Why it fits
Approved content stays identical everywhere it is used, which matters as much for compliance as for consistency
Job
2 / 3
Multilanguage campaign rollout
Who reaches for it
Global media, creator apps, marketplaces
Why it fits
One preset with every language built in serves the right version per device, without a duplicate campaign per market
Job
3 / 3
Cross-channel reach into APAC
Who reaches for it
Businesses running LINE (Japan, Thailand, Taiwan) or Kakao (Korea)
Why it fits
The same reuse pattern extends to channels most platforms do not template at all

How the pieces work together

A preset carries the message. A few neighbors decide how that message adapts once it is picked: dynamic content drops in a name, a product pick or an event attribute, Liquid templates branch the copy itself between a free user and a premium one, and locale matching swaps in whichever language version fits the device. Put them together and one saved preset already knows how to speak to each user, without a second version written by hand.

Where to go next

Saved presets get referenced most inside Customer Journey Builder, where the 93.4% figure above comes from. The dynamic content, Liquid conditions and language matching a preset plugs into live on the personalization page.

How it works

  1. Create the preset

    Open Content → Push content and start a new one, or save a preset inline from a channel step inside a journey – both create the same reusable object.

  2. Fill in the message

    Add the body, media, platform settings and a version per language where your base needs one. Personalization reads from user-data tags, so those need to exist first if you want them in the copy.

  3. Test before you save

    Send a test message and check the live, platform-specific preview. Liquid syntax gets validated in the same step.

Good to know before you build a library of these.

  • Editing a preset changes it everywhere it is referenced, live, including campaigns and journeys already running. Pushwoosh’s own guidance is to create a new preset instead, if a specific spot needs to stay untouched.
  • Silent push notifications and inbox-save options need the legacy preset form, not the standard editor.
  • No published caps on character count, media size, number of languages, or number of presets per account.
  • The field-by-field model above is confirmed for push presets. Other channels follow the same pattern but have not been checked to the same depth.

Build it once, let every channel pick it up

Fix a preset once, and the fix lands everywhere it is used, on every channel that references it.