How to configure SFMC integration
This how-to explains how to insert a block of dynamic product recommendations into an SFMC (Salesforce Marketing Cloud) email by calling the Reco & Merch API from AB Tasty. This enables showing personalized products in real time, at the moment the email is opened.
Prerequisites
Access to Content Builder in SFMC.
A Reco & Merch template already configured on AB Tasty.
A valid Bearer Token provided by AB Tasty.
Required variables available in your Data Extension (e.g.
EmailAddr,CodeEAN).
Deploy the Recommendation
When your template is ready:
Go to the Deploy Recommendation section.
Select the option On your emailing platform.
A unique identifier (API URL) will be generated. This identifier is automatically updated whenever you make changes to the template.
If the interface shows the message “Template functionality is not enabled”, please contact the AB Tasty team to enable template access.

Add the Code Snippet in SFMC
Copy-paste the AMPscript snippet example below into your SFMC email:
%%[
set @url = "https://uc-info.eu.abtasty.com/v1/reco/1010/template/3d815596-8f6e-4ed4-a373-89792a9a2e06/recos/366c16d0-4934-4f31-930e-a57a1e3f757c"
Platform.Load("Core","1.1.1");
var url = Variable.GetValue("@url");
var headerNames = ["Authorization"];
var headerValues = ["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoxMDEwLCJpYXQiOjE3NDI0NzYzNzIsImp0aSI6IlhDczN3WVdXM0dIVHlRNmx0VXY1TTkzR2hXdDlDZGkyR3lhQnJwUEdacE0ifQ.n3OUVQJyyHUXR2zene-OA7VVb4hUJOnVlGQqfmc6tuw"];
var response = HTTP.Get(url, headerNames, headerValues);
Variable.SetValue("@response", response.Content);
%%=TreatAsContent(@response)=%%
]%%@url: corresponds to the endpoint generated for your recommendation template.
Authorization: insert the Bearer token provided by AB Tasty.
The @response variable will store the dynamic recommendation and inject it into your email.


Snippet structure
Below is a more complete example of the AMPscript code snippet
%%[
var @CodeEAN, @url
set @CodeEAN = [CodeEAN]
set @url = Concat(
"https://uc-info.eu.abtasty.com/v1/reco/889/template/<TEMPLATE_ID>/recos/<RECO_ID>",
"?variables=%7B%22bought_item%22:%22", @CodeEAN, "%22%7D"
)
]%%
<script runat="server">
Platform.Load("Core","1.1.1");
var url = Variable.GetValue("@url");
var headerNames = ["Authorization"];
var headerValues = ["Bearer <YOUR_BEARER_TOKEN>"];
var response = HTTP.Get(url, headerNames, headerValues);
Variable.SetValue("@response", response.Content);
</script>
%%=TreatAsContent(@response)=%%This code execute the 3 steps below :
Step 1: Build the URL with AMPScript
Use AMPScript (%%[ ... ]%%) to prepare the API request URL with dynamic variables from the Data Extension.
%%[
var @CodeEAN, @url
/* Retrieve CodeEAN from the Data Extension */
set @CodeEAN = [CodeEAN]
/* Build the final API URL */
set @url = Concat(
"https://uc-info.eu.abtasty.com/v1/reco/889/template/<TEMPLATE_ID>/recos/<RECO_ID>",
"?variables=%7B%22bought_item%22:%22", @CodeEAN, "%22%7D"
)
]%%Step 2: Call the API with SSJS
Use Server-Side JavaScript (SSJS) inside <script runat="server">...</script> to execute the HTTP request.
<script runat="server">
Platform.Load("Core","1.1.1");
var url = Variable.GetValue("@url");
var headerNames = ["Authorization"];
var headerValues = ["Bearer <YOUR_BEARER_TOKEN>"];
var response = HTTP.Get(url, headerNames, headerValues);
Variable.SetValue("@response", response.Content);
</script>Step 3: 1Inject the API Response into the Email
Display the API’s HTML/JSON response directly in the body of the email:
%%=TreatAsContent(@response)=%%Notes on SFMC
Below are some notes on SFMC
Performance
Every email open triggers a live API call.
High-volume sends (500k+ subscribers) = high API traffic.
Ensure AB Tasty API quota is sufficient.
Fallback
If the API fails, the block may be empty.
Always define a static fallback (e.g. “Top Sellers” block).
Security
The Bearer Token is sensitive.
Rotate it regularly and avoid exposing it in shared snippets.
For extra safety, use a proxy to hide the token.
Data Extension alignment
Verify all fields (
CodeEAN,EmailAddr) exist for every subscriber.If missing, the API call URL will be invalid → “400 Bad Request” errors.
Rendering
Always test in Preview & Test with real subscriber profiles.
Validate rendering across multiple email clients (Gmail, Outlook, Mobile).
Last updated
Was this helpful?




