Connect neostore with salesforce marketing cloud
Configuration
-
Access Content Builder
Log in to your Salesforce Marketing Cloud account and access the user interface and select the “Content Builder” option.
-
Creating new content
Click on “Create” to start a new content. Then choose the type of content you wish to create. For a dynamic block, you can select “Code Snippet” or a content type compatible with dynamic blocks.
A “Code Snippet” is a block of HTML, CSS or JavaScript code that allows you to accomplish a specific task by calling up an external block content, without having to rewrite the code each time. The “Code Snippet” allows easy reuse in many contents.
-
Register a Key
In order to create a secure link. It is required to configure a Key in SFMC.
To get the Key, go to neostore Security here : https://admin.neostore.cloud/tenant/~/security/secrets and copy the first secret
In SFMC open Key Management in setup > Administration > Key Management and create a new symmetric key. Paste the Neostore Secret1 in the Pre-Shared Key.
-
Developing the dynamic block
In the new workspace, create your content using AMPscript.
Example of JWT link in AMPScript:
%%[ /* Global parameters */ var @tenant, @keyId, @json, @jwt, @email, @host set @keyId = '0000-00000000-0000000000-0000' /* External Identifier of the Key within SFMC*/ set @tenant = 'xxx' /* where xxx is the name of the tenant in neostore */ set @email = Email /* this must be the name of the Email field in the DataExtension */ set @host = 'https://app.neostore.cloud' /* Custom domain of the tenant configured in neostore */ /* handle dates */ set @epochStart = DateParse('1970/01/01 00:00AM') set @expirationDate = DateAdd(Now(), "3", "Y") set @seconds = 60 set @minutesSinceEpoch = DateDiff(@epochStart,Now(),'MI') set @minutesUntilTheEnd = DateDiff(@epochStart, @expirationDate,'MI') set @secondsSinceEpoch = Multiply(@minutesSinceEpoch,@seconds) set @secondsToEnd = Multiply(@minutesUntilTheEnd,@seconds) /* handle jwt token */ set @json ='{ "email":"@email", "nbf": @secondsSinceEpoch, "exp": @secondsToEnd, "iat": @secondsSinceEpoch, "iss": "neostore.cloud", "aud": "@tenant" }' set @json = Replace(@json, '@secondsSinceEpoch', @secondsSinceEpoch) set @json = Replace(@json, '@secondsToEnd', @secondsToEnd) set @json = Replace(@json, '@tenant', @tenant) set @json = Replace(@json, '@email', @email) set @jwt = GetJWTByKeyName(@keyId, "HS256", @json) set @link=concat(@host, "/", @tenant, "/pass?neo.authToken=", @jwt) ]%%
In the payload, it is possible to use any external Id if they are known by Neostore. For example, if you use Cegid Y2 it is possible to replace the line with email with
"https://neostore.cloud/customer/identifiers:id.y2.customerId":"@customerId"
where
@customerId
is the Y2 identifier within SFMC -
Adding dynamic parameters
To make your dynamic block truly dynamic, you need to define parameters that will be fed by the data.
Use the customization features to link the fields in your dynamic block to data from your Data Extension or other data sources (list, etc).
-
Preview and test
Before finalizing, preview your dynamic block to make sure it works as intended. Test it with different data, if possible, to check its flexibility and responsiveness to the variables you require.
-
Registration and use
Once you’re satisfied with the dynamic block, save it in Content Builder. It will then be available for integration into your emails, web pages or other marketing campaigns using the customization features.
You can now use your block to integrate it into an email. To integrate it, go to “Email Studio”, then to “Content” and create or select the email according to your objective.
Example coding of a block snippet with a link for each downloadable element (Apple Wallet or Google Pay) that can be set up:
```html
%%[
Insert code from step 2
]%%
<meta charset="UTF-8" />
<title>Carte de fidélité</title>
<style>
.row {
display: flex;
justify-content: center;
margin-bottom: 29px;
}
.column {
width: 300px;
text-align: center;
margin: 0 -0px;
}
.column img {
max-width: 300px;
height: 55px;
display: block;
margin: 0 auto;
}
strong {
font-size: 28px;
font-family: Arial, sans-serif;
}
</style>
<div class="row">
<div class="column">
<strong>Your pass is available</strong>
</div>
</div>
<div class="row">
<div class="column">
<a href="%%=RedirectTo(@link)=%%">
<img
src="https://sdk.neostore.cloud/scripts/%%=tenant=%%/cinto@1/google/en.svg"
alt="Add to Google Wallet"
/>
</a>
</div>
<div class="column">
<a href="%%=RedirectTo(@link)=%%">
<img
src="https://sdk.neostore.cloud/scripts/%%=tenant=%%/cinto@1/apple/en.svg"
alt="Add to Apple Wallet"
/>
</a>
</div>
</div>
```
User Guide
Use Journey Builder to send an email to invite your customer to download their pass and another email confirmation after installing the loyalty card.
Thanks to “Journey Builder” you can design and automatic a customer journey to communicate with your customers if they still haven’t downloaded the loyalty card.
Example of a Customer Journey in “Journey Builder”:
Push update
Configuration
A Marketing Cloud Package is a bundle of features, configurations, and functionalities offered by Salesforce Marketing Cloud. These packages often include tools for email marketing, social media advertising, customer segmentation, and analytics. They provide a unified platform for marketers to orchestrate and automate their marketing campaigns.
To install our Nestore Package, follow those steps:
- Package Creation
- Access to your Marketing Cloud
- From your personal space, select Setup
- In Setup, go to Apps, then Installed Packages
- Select New, and create a new package with Name “Neostore” and Description “Neostore Wallet integration”
- From the Neostore Package, copy the JWT Signin Key
-
Go to neostore advanced configuration : https://admin.neostore.cloud/tenant/~/configuration
-
create or edit a file name server/sfmc.yml with
signinKey: “
”.
- Package configuration
- From your new package, select Add component, then pick Journey Builder Activity
- Populate the fields Name and Description , then in Category pick Messages. Finally in the field Endpoint URL, enter the URL adress of our application :
https://app.neostore.cloud/api/**{tenantId}**/webhooks/listeners/sfmc/actions/pushupdate
- Journey builder configuration
- Navigate to Journey Builder: Access Journey Builder from the Marketing Cloud dashboard.
- Create a New Journey: Start a Multi-Step-Journey or open an existing one.
- Add Neostore push update custom Activity
- Configure Neostore data information
for identifiers
uses :
{
"id.sfmc.customerId" : "{{Contact.Attribute.Identifier}}"
}
for additionalData
uses :
{
"sfmc_message" : "Your message here"
}
New feature !
👉 SFMC extension it is now possible to change the passType of the targeted pass using the passType field on the SFMC custom activity.
Values will vary based on your neostore & sfmc configuration
- Define the Data Extension configured for the journey
- Specify the triggers that initiate the journey and the paths that contacts will follow
4. Test & activate
- Test the journey
- Monitor & analyze
User guide
In journey builder