Message Personalization
Message personalization is a feature that displays different text and links for each recipient. By using personalized messages, you can deliver content that matches each user's interests and context, even within the same campaign. As a result, you can improve open rates, click-through rates, and conversion rates while reducing unnecessary message sends, thereby improving both CRM operational efficiency and customer experience.
Hackle provides two methods.
Property-based personalization Inserts user properties into messages using Liquid syntax.
Connected Content Calls an external API right before sending to fill the message with real-time values.

Which method should I use?
For values that are already stored, such as name, tier, or preferred category, use property-based personalization.
For values that change at send time, such as coupons, inventory, prices, or recommendation results, use Connected Content.
The two methods can be used together.
Property-Based Personalization
Property-based personalization is suitable when you want to insert different text into the message body and links for each user.
You can insert values into links in the same way.
If a value may be empty, set a fallback text with default.
For detailed usage, see Property-Based Personalization.
Use case
1. Tier-based benefit guidance
You can display different benefit messages depending on the membership tier.
2. Re-engagement based on preferred category
You can increase message relevance by inserting the user's preferred category.
3. Recently viewed product reminder
You can drive clicks and purchase conversions by inserting the name of a recently viewed product.
Connected Content
Connected Content is a Liquid tag that calls an external API right before sending a message and dynamically inserts the response into the message body.
You can reflect real-time data such as inventory, price, order status, and personalized recommendation results at send time directly into the message.
You can pull content regardless of the source, whether it is your own server or a publicly available external API.
It can also be used in conjunction with various technology partners.
If you are new to Liquid syntax, we recommend lightly reviewing Shopify's official Liquid guide first.
It covers the basic syntax used in this document, including variable output, tags, filters, and conditionals.
Using it together in message content and links
You can compose both the message body and links from the same API response.
This method is useful when creating links that differ for each user, such as coupons, recommended products, and order lookup links.
For more detailed syntax, see Writing Connected Content.
Use Case
1. Real-time product information sync
Even if you create a campaign in advance, it pulls the current price, inventory, and discount rate from your product API right before sending and reflects them in the message. You can prevent incidents where price changes or sold-out products are incorrectly announced, and even if you run the same campaign for a long time, the latest information is always displayed.
2. Real-time point / reward lookup
It looks up the customer's points, reward balance, and coupon balance via API at send time and displays them directly in the message. You can always show an accurate balance.
3. Personalized recommendation content display
By calling your in-house ML recommendation system or curation API, you fill the message body with different products, content, and events for each user. Even when you send the same campaign, the items displayed differ for each recipient.
Be sure to check when writing
Set a
defaultin case the value is empty.Verify the actual displayed values with preview and test sends.
Last updated