Reconnect is an Experience OS app that enables you to automatically send personalized messages to users based on their behavior, by creating multi-channel, triggered campaigns. Using Reconnect, you can test different messaging channels and content variations to determine the optimal campaign for each user segment.
Before you can create Reconnect campaigns, you must complete the following steps. These steps are technical and might require a developer.
- Report the updated cart state
- Identify your visitors onsite
- Manage opted-in users
- Integrate with your messaging vendor
- Track your messages
In addition, if you manage multiple languages in your section, you must make sure you follow all the localization requirements.
1. Report the updated cart state
Report to Dynamic Yield the state of your cart using the following events:
- Implement Add to Cart and Remove from Cart events with cart parameters.
- Implement a Sync Cart event to report the most updated state of the cart for each user.
Learn more about our standard events.
For the event implementation schema and code exaples, see our Developer Docs:
Add to Cart, Remove from Cart, Sync Cart
2. Identify your visitors
Identify site visitors to associate a Dynamic Yield user ID (DYID) for all site visitors with a hashed email address or external ID as a cross-channel customer ID (CUID).
You can identify users using any of our identification events: Login, Signup, Newsletter Subscription, and Identify user.
Note that for the SMS channel, users are identified by hashed email address, and the phone number should be passed as a secondary identifier.
Learn more about our standard events and identifying users.
For the event implementation schema and code examples, see our Developer Docs:
Login, Signup, Newsletter Subscription, Identify user
3. Manage opted-in users
Not all users consent to receive messages. You need to let Dynamic Yield know which users have opted in or opted out.
Summary of opt-in/opt-out methods
Channel | Subscriber list | API Event | Script Event |
---|---|---|---|
SMS | Yes | No | No |
Yes (preferred method) |
No |
Yes |
|
Push notifications |
No |
Yes |
No |
Subscriber management details
- Subscriber lists: For SMS and email notifications, a list of email addresses, phone numbers, or custom identifiers of users who have opted in is synced daily.
- API event: For push notifications, fire message opt-in and opt-out events via API.
- Script-based event: Using opt-in and opt-out events for email is supported; however, the recommended method is to use the subscriber lists (feed).
Note that when the subscriber lists and SMS feeds are synced, they override any previously received opted-in and opted-out information.
See our API reference for more information about the API event:
Track events
For the event implementation schema, see our Developer Docs:
Message Opt-in, Message Opt-out
Important
This information is considered PII (personally identifiable information), which is subject to various regulations to protect user privacy. Dynamic Yield maintains PII data in dedicated data storage and complies with security standards in the transfer and persistence of this data. Pass this data only according to local law.
4. Integrate with your messaging vendors
Integrate with up to 1 each of the following messaging provider types:
5. Tracking
Emails
To track clicks and measure campaign performance, URLs that are retrieved from the product feed as variables (for example ${Items in cart|url|item1} ) are automatically wrapped by Reconnect before they're sent to your messaging provider.
Dynamic Yield also requires that you track your internal links in your emails. Include the tracking link ( ${Tracking link} ) in EVERY clickable item in your ESP email template (for example, a product image) to enable Dynamic Yield to collect information. For Responsys, you can use Responsys RPL to concatenate the redirect link with every additional URL.
To track opens, add the tracking pixel ( ${Tracking pixel} ) to your message JSON in Reconnect and fetch its value and implement the pixel in the top of your email HTML.
Push notifications
Save the data from the push notifications payload
When you inject the Push tracking variable ( ${Push tracking} ) into the JSON payload of the Push message, it's replaced with a unique object upon sending. The attribute values are dynamic and unique in every push notification.
Save this information locally, as you will need to populate it into your engagement API calls. See a code example in the next section.
Track delivery and clicks
Notify Dynamic Yield about the delivery of push notifications for reporting and testing purposes using the engagement endpoint.
{
"user": {
"dyid": "-4350463893986789401",
"dyid_server": "-4350463893986789401"
},
"session": {
"dy": "ohyr6v42l9zd4bpinnvp7urjjx9lrssw"
},
"engagements" [
{
"type": "PN_IMP",
"trackingData": { "rri": "987001424", "sectionID": "9878785", "reqTs":
"1652622484055", "userID": "4656722918296846673", "version": "2", "events":
[ { "ver": "101482916", "expVisitId": "4032971100745578591", "smech": "",
"vars": [101098971], "exp": "1296028", "mech": "1" } ] }
}
]
}
{
"user": {
"dyid": "-4350463893986789401",
"dyid_server": "-4350463893986789401"
},
"session": {
"dy": "ohyr6v42l9zd4bpinnvp7urjjx9lrssw"
},
"engagements": [
{
"type": "PN_CLICK",
"trackingData": { "rri": "987001424", "sectionID": "9878785", "reqTs":
"1652622484055", "userID": "4656722918296846673", "version": "2", "events":
[ { "ver": "101482916", "expVisitId": "4032971100745578591", "smech": "",
"vars": [101098971], "exp": "1296028", "mech": "1" } ] }
}
]
}
Localization in Reconnect
Reconnect supports localized campaigns, enabling you to serve relevant, locale-specific content to each user. Localization setup includes:
- Creating a localized product feed.
- Setting localized page context:
- For script-based implementations, this is done in the page heading.
- For API-based implementations, add an additional parameter in event API calls (details follow this list).
- Adding the languages you support in your section settings.
- Defining localized values for individual variables in each variation.
(Note: Localized variation behavior is the same across Experience OS applications).
Learn more in the dedicated article Multi-language Support.
For API-based implementations, you must send the user's locale code in your Event requests under context. Make sure to reference the correct language codes.
Example:
curl --request POST \
--url https://dy-api.com/v2/collect/user/event \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'dy-api-key: your-api-key' \
--data '
{
"user": {
"active_consent_accepted": false
},
"context": {
"page": {
"type": "HOMEPAGE"
"locale": "fr_FR"
}
},
"options": {
......
}
}
'