After completing this unit, you’ll be able to: / Après avoir terminé cette unité, vous pourrez:
Use AMPscript, SSJS, and GTL at the most appropriate times. /Utilisez AMPscript, SSJS et GTL aux moments les plus appropriés.
Troubleshoot your programmatic languages. /Dépannez vos langages de programmation.
Preserve View As A Web Page functionality for your messages. /Conservez la fonctionnalité Afficher en tant que page Web pour vos messages.
Now that you’ve been properly introduced to the different Marketing Cloud programmatic languages, you can decide when to use these tools in your development process. /Maintenant que vous avez été correctement familiarisé avec les différents langages de programmation Marketing Cloud, vous pouvez décider quand utiliser ces outils dans votre processus de développement.
Each language offers different benefits and can be more useful than the others in certain situations. But first, let’s look at some best practices for all the languages. / Chaque langue offre des avantages différents et peut être plus utile que les autres dans certaines situations. Mais d’abord, regardons quelques bonnes pratiques pour toutes les langues.
All Languages / Toutes les langues
No matter which language you use, Marketing Cloud offers send preview and markup validation in the app. / Quelle que soit la langue que vous utilisez, Marketing Cloud propose d’envoyer un aperçu et une validation du balisage dans l’application.
Always test your scripts before placing them in a send to make sure that everything works. / Testez toujours vos scripts avant de les placer dans un envoi pour vous assurer que tout fonctionne.
Marketing Cloud prevents content with errors from sending, but you also want to make sure that you’re getting the results you want. / Marketing Cloud empêche l’envoi de contenu contenant des erreurs, mais vous devez également vous assurer d’obtenir les résultats souhaités.
Perform test sends before deploying any new message or activity. / Effectuez des tests d’envoi avant de déployer tout nouveau message ou activité.
The NotSent tracking extract provides information on email messages that didn’t send, including detailed reasons for the causes that prevented the send. / L’extrait de suivi NotSent fournit des informations sur les e-mails qui n’ont pas été envoyés, y compris les raisons détaillées des causes qui ont empêché l’envoi.
Use this information to better refine your sends. / Utilisez ces informations pour affiner vos envois.
Because some AMPscript and SSJS functions allow access to API functions, make sure that the user you test and generate your scripts with has the appropriate permissions to interact with the API before you continue. / Étant donné que certaines fonctions AMPscript et SSJS autorisent l’accès aux fonctions de l’API, assurez-vous que l’utilisateur avec lequel vous testez et générez vos scripts dispose des autorisations appropriées pour interagir avec l’API avant de continuer.
Contact your Marketing Cloud admin for help if needed. / Contactez votre administrateur Marketing Cloud pour obtenir de l’aide si nécessaire.
Email messages offer a View as a Web Page option to show HTML content outside of an email client. / Les messages électroniques offrent une option Afficher en tant que page Web pour afficher le contenu HTML en dehors d’un client de messagerie.
Because programmatic languages allow dynamic content, though, a forwarded email or the same email message sent more than once can reference an earlier version of the email message and not reflect any changes you may have made. / Étant donné que les langages de programmation autorisent le contenu dynamique, un e-mail transféré ou le même e-mail envoyé plusieurs fois peut référencer une version antérieure de l’e-mail et ne pas refléter les modifications que vous avez apportées.
The web page also loads information dynamically, instead of showing a snapshot of the actual sent message. / La page Web charge également les informations de manière dynamique, au lieu d’afficher un instantané du message réellement envoyé.
To avoid this situation, reference the BatchID of the send in your scripts to ensure the correct email message is displayed as a web page. / Pour éviter cette situation, référencez le BatchID de l’envoi de vos scripts pour vous assurer que le message électronique correct est affiché sous forme de page Web.
AMPscript
AMPscript offers the most access to Marketing Cloud functionality, especially email messages. / AMPscript offre le plus d’accès aux fonctionnalités de Marketing Cloud, en particulier les e-mails.
It also offers a tight integration with the SOAP Web Service API. / Il offre également une intégration étroite avec l’API de service Web SOAP.
If you take the time to learn the intricacies of this language, you can accomplish a great deal of Marketing Cloud functionality. / Si vous prenez le temps d’apprendre les subtilités de ce langage, vous pouvez accomplir de nombreuses fonctionnalités de Marketing Cloud.
AMPscript works best with subscriber list and data extensions stored in Marketing Cloud. / AMPscript fonctionne mieux avec la liste des abonnés et les extensions de données stockées dans Marketing Cloud.
A large part of AMPscript involves pulling information from data extensions, and that usually involves Lookup() or LookupRows() functions. /Une grande partie d’AMPscript implique d’extraire des informations des extensions de données, ce qui implique généralement les fonctions Lookup () ou LookupRows ().
When you’re using these functions, remember that each call to a data extension requires time and processing power, so get as much data as possible with each call. / Lorsque vous utilisez ces fonctions, n’oubliez pas que chaque appel à une extension de données nécessite du temps et de la puissance de traitement, afin d’obtenir autant de données que possible avec chaque appel.
Instead of several Lookup() calls for multiple fields, use a single LookupRows() request to pull back entire records and get data from there. / Au lieu de plusieurs appels Lookup () pour plusieurs champs, utilisez une seule demande LookupRows () pour retirer des enregistrements entiers et obtenir des données à partir de là.
AMPscript also requires some functionality to be enabled before you can use it within an account. / AMPscript nécessite également l’activation de certaines fonctionnalités avant de pouvoir l’utiliser dans un compte.
For example, you can’t use AttachFile() unless that feature is activated for your account. /Par exemple, vous ne pouvez pas utiliser AttachFile () à moins que cette fonctionnalité ne soit activée pour votre compte.
Even then, be careful when adding attachments to messages. / Même dans ce cas, soyez prudent lorsque vous ajoutez des pièces jointes aux messages.
Some spam filters may block messages with attachments, and a send with a large attachment can cost time and processing power. / Certains filtres anti-spam peuvent bloquer les messages avec des pièces jointes, et un envoi avec une grande pièce jointe peut coûter du temps et de la puissance de traitement.
Review the documentation for a function and make sure your account can use it before including it in your activities. / Consultez la documentation d’une fonction et assurez-vous que votre compte peut l’utiliser avant de l’inclure dans vos activités.
SSJS
SSJS offers the familiarity of JavaScript with the functionality of most AMPscript functions. / SSJS offre la familiarité de JavaScript avec les fonctionnalités de la plupart des fonctions AMPscript.
That functionality includes integration with the SOAP Web Service API. / Cette fonctionnalité comprend l’intégration avec l’API du service Web SOAP.
If the data you want to use in Marketing Cloud requires arrays or comes in JSON form, SSJS gives you easy access to that data. / Si les données que vous souhaitez utiliser dans Marketing Cloud nécessitent des tableaux ou se présentent sous forme JSON, SSJS vous donne un accès facile à ces données.
Remember to use Core functions only with landing pages and apps for the best performance. / N’oubliez pas d’utiliser les fonctions de base uniquement avec des pages de destination et des applications pour de meilleures performances.
Platform functions can better handle messages and other send-time activities. / Les fonctions de la plateforme peuvent mieux gérer les messages et autres activités d’envoi.
SSJS also offers enhanced error handling functionality, such as try catch blocks. / SSJS offre également une fonctionnalité améliorée de gestion des erreurs, comme les blocs try catch.
If you require these checks, implement SSJS in your messages. / Si vous avez besoin de ces vérifications, implémentez SSJS dans vos messages.
GTL
To create lightweight templates for different types of messages, GTL has you covered. / Pour créer des modèles légers pour différents types de messages, GTL vous a couvert.
The similarity to Handlebars.js and Moustache.js libraries make the language familiar, and you can create personalized templates with just a few tags. / La similitude avec les bibliothèques Handlebars.js et Moustache.js rend le langage familier et vous pouvez créer des modèles personnalisés avec seulement quelques balises.
GTL can also access JSON data stored in data extensions or provided at send time. / GTL peut également accéder aux données JSON stockées dans des extensions de données ou fournies au moment de l’envoi.
GTL can work with AMPscript or SSJS, or you can use it on its own. / GTL peut fonctionner avec AMPscript ou SSJS, ou vous pouvez l’utiliser seul.
Wrapping It All Up / Tout emballer
Your messages, landing pages, and other assets all benefit from expanded functionality and personalization. / Vos messages, pages de destination et autres éléments bénéficient tous d’une fonctionnalité et d’une personnalisation étendues.
Use these languages to give your subscribers exactly what they need. / Utilisez ces langues pour donner à vos abonnés exactement ce dont ils ont besoin.
You can also help yourself by automating a lot of common tasks that can otherwise take a lot of time and effort. / Vous pouvez également vous aider en automatisant un grand nombre de tâches courantes qui peuvent autrement prendre beaucoup de temps et d’efforts.
Finally, the Salesforce StackExchange is a great source of help when troubleshooting your scripts. / Enfin, Salesforce StackExchange est une excellente source d’aide lors du dépannage de vos scripts.
Search for previous issues and post if you think you’ve found something different than anybody has discovered before. / Recherchez les numéros précédents et publiez si vous pensez avoir trouvé quelque chose de différent de ce que quiconque a découvert auparavant.
Chances are that somebody has even been down that trail before! / Il y a de fortes chances que quelqu’un ait déjà emprunté cette piste auparvant!
After completing this unit, you’ll be able to: / Après avoir terminé cette unité, vous pourrez:
Introduce the fundamentals and syntax for Guide Template Language (GTL). / Présentez les principes fondamentaux et la syntaxe du Guide Template Language (GTL).
Create data-driven message templates using data sources, templates, and tags. / Créez des modèles de messages basés sur les données à l’aide de sources de données, de modèles et de balises.
Work with GTL examples and best practices. / Travaillez avec des exemples et des meilleures pratiques GTL.
Guide Template Language is Marketing Cloud’s newest programmatic language, and it’s customized to work within messages to provide personalized content. / Guide Template Language est le langage de programmation le plus récent de Marketing Cloud, et il est personnalisé pour fonctionner dans les messages afin de fournir un contenu personnalisé.
GTL takes data from specified data sources and applies it within templates used to render the content. / GTL prend les données des sources de données spécifiées et les applique dans les modèles utilisés pour rendre le contenu.
Those templates contain tags that determine where to insert data. / Ces modèles contiennent des balises qui déterminent où insérer les données.
If you’ve used templating libraries like Mustatche.js or Handlebars.js, GTL will look familiar. / Si vous avez utilisé des bibliothèques de modèles comme Mustatche.js ou Handlebars.js, GTL vous semblera familier.
In fact, GTL supports templates from those sources, but Marketing Cloud provides the data instead of scripts. / En fait, GTL prend en charge les modèles de ces sources, mais Marketing Cloud fournit les données au lieu des scripts.
GTL Syntax / Syntaxe GTL
Let’s get started by looking at some tags. / Commençons par regarder quelques balises.
Some of the tags are so simple that we just call them simple tags. / Certaines balises sont si simples que nous les appelons simplement de simples balises.
Want to include someone’s first name in an email? Use this tag. / Vous souhaitez inclure le prénom de quelqu’un dans un e-mail? Utilisez cette balise.
{{FirstName}}
You can also add prefixes and suffixes to a tag to identify what kind of tag you’re putting in a template. / Vous pouvez également ajouter des préfixes et des suffixes à une balise pour identifier le type de balise que vous mettez dans un modèle.
Prefixes include these characters. / Les préfixes incluent ces caractères.
Tag Type
Prefix Symbol
Section Tag
#
Function or Set Delimiter Tag
=
Inverted Section Tag
^
Comment Tag
!
Partial Tag
>
Block Helper
#=
Data
{
Suffixes include these characters. / Les suffixes incluent ces caractères.
Tag Type
Suffix Symbol
Close Data Tag
}
Close Set Delimiter Tag
=
You can also create block tags in GTL. / Vous pouvez également créer des balises de bloc dans GTL.
This example shows a block tag nested inside another block tag, along with some examples of simple tags that bring data in from a data extension containing product information. / Cet exemple montre une étiquette de bloc imbriquée dans une autre étiquette de bloc, ainsi que quelques exemples de balises simples qui importent des données d’une extension de données contenant des informations sur le produit.
Notice how the hashtags at the beginning of the block tags indicate section tags. / Remarquez comment les hashtags au début des balises de bloc indiquent les balises de section.
Use block tags to create and use data sources, access helper functions, and provide template logic. / Utilisez des balises de bloc pour créer et utiliser des sources de données, accéder aux fonctions d’assistance et fournir une logique de modèle.
Speaking of helper functions, GTL handles common functions like Each, If, Switch, Unless, and With. / En parlant de fonctions d’assistance, GTL gère des fonctions courantes telles que Each, If, Switch, Unless et With.
For example, this If function provides text about whether an order is ready or not. / Par exemple, cette fonction If fournit un texte indiquant si une commande est prête ou non.
{{#if order=="1234"}}Your order is ready{{.else}}Your order is not ready{{/if}}
Blocks and Slots/Blocs et emplacements
GTL templates use blocks and slots to organize data for messages. / Les modèles GTL utilisent des blocs et des emplacements pour organiser les données des messages.
This example shows a sample HTML email message. / Cet exemple montre un exemple de message électronique HTML.
<html>
<body>
<style type="text/css">
.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #ebab3a;border-collapse: collapse;}
.tftable th {font-size:12px;background-color:#e6983b;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;text-align:left;}
.tftable tr {background-color:#ffffff;}
.tftable td {font-size:12px;border-width: 1px;padding: 8px;border-style: solid;border-color: #ebab3a;}
</style>
<table class="tftable" border="1">
<tr>
<th colspan="2">TITLE OF MESSAGE</th>
</tr>
<tr>
<td rowspan="3">
{{.slot slot1}}
{{.block mytext+imageblock textimage}}Block Goes Here
<br />
{{.default}}I am a Text and Image Block - Hello World!{{/default}}
{{/block}}
{{/slot}}
</td>
<td>
{{.slot slot2}}
{{.default}}This slot is available for anything{{/default}}
{{/slot}}
</td>
</tr>
<tr>
<td>
{{.slot slot3}}
{{.block mytextblock text}}Block Goes Here
<br />
{{.default}}I am a Text only Block - Hello World!{{/default}}
{{/block}}
{{/slot}}
</td>
</tr>
<tr>
<td>
{{.slot slot4}}
{{.block myimageblock image}}Block Goes Here
<br />
{{.default}}I am an Image only Block - Hello World!{{/default}}
{{/block}}
{{/slot}}
</td>
</tr>
</table>
</body>
</html>
The rendered template looks like this. / Le modèle rendu ressemble à ceci.
Blocks and slots can contain meta information, default content, and content to render. / Les blocs et les emplacements peuvent contenir des méta-informations, du contenu par défaut et du contenu à restituer.
Blocks also contain JSON objects used to provide data during rendering. / Les blocs contiennent également des objets JSON utilisés pour fournir des données lors du rendu.
Dataobject and Datasource
All the data you’re pulling into you template has to come from somewhere, right? / Toutes les données que vous insérez dans votre modèle doivent provenir de quelque part, non?
To replace tags with personalized data within a template, GTL draws information from either a dataobject or a datasource. So what’s the difference? / Pour remplacer les balises par des données personnalisées dans un modèle, GTL tire des informations d’un objet de données ou d’une source de données. Alors, quelle est la différence ?
Dataobjects must be declared before referencing them, but you can use that information anywhere within your template. / Les objets de données doivent être déclarés avant de les référencer, mais vous pouvez utiliser ces informations n’importe où dans votre modèle.
Datasources appear within tags in the template and provide data for only that scope. / Les sources de données apparaissent dans les balises du modèle et fournissent des données uniquement pour cette étendue.
Dataobjects / Objets de données
Dataobjects must include a name, a type value (inline, variable, or list), and a maxRows integer value. / Les objets de données doivent inclure un nom, un type de valeur (en ligne, variable ou liste) et une valeur entière maxRows.
This example includes a dataobject that places product information inside a personalized template. / Cet exemple inclut un objet de données qui place les informations produit dans un modèle personnalisé.
{{.dataobject RecProds type=list maxRows = 2}}
{{.data}}
{
"target" : "name:Products",
"filter" : "Product_Category == Category_Preference"
}
{{/data}}
{{/dataobject}}
{{!if data is found we'll execute the code in the Sections tag}}
{{#RecProds}}
{{First_Name}} {{Last_Name}}, based on your preference of {{Category_Preference}}, we suggest the following products…
SKU: {{sku}}
Product Name: {{Product_Name}}
<img src="{{Thumbnail_URL}}" alt="" />
{{/RecProds}}
{{!if no data is found we'll execute the code in the Inverted Sections tag}}
{{^RecProds}}
{{First_Name}} {{Last_Name}}, we do not have any product recommendations for you at this time.
{{/RecProds}}
Datasources / Source d’information
Like dataobjects, datasources require a name and maxRows value. / Comme les objets de données, les sources de données nécessitent un nom et une valeur maxRows.
You can also specify a Boolean global value that sets values back to the parent context after the block processes. / Vous pouvez également spécifier une valeur booléenne globale qui redéfinit les valeurs dans le contexte parent après les processus de bloc.
You can also specify five types of blocks. / Vous pouvez également spécifier cinq types de blocs.
query
inline
list
variable
nested
Datasources allow for nested information. / Les sources de données permettent des informations imbriquées.
This example shows information stored in an AMPscript variable (that’s right, GTL accepts information from AMPscript and SSJS!) and uses it to populate subscriber information / Cet exemple montre les informations stockées dans une variable AMPscript (c’est vrai, GTL accepte les informations d’AMPscript et SSJS!) Et les utilise pour remplir les informations d’abonné.
To test this example, change the email addresses to real addresses to pass validation /Pour tester cet exemple, changez les adresses e-mail en adresses réelles pour passer la validation
Partials / Partiels
If you need to pull information in from your Portfolio or Content Builder, partials give you a handy shortcut. / Si vous devez extraire des informations de votre portfolio ou de votre générateur de contenu, les partiels vous offrent un raccourci pratique.
Just specify a key, ID, or name value inside a {{>}} tag, and you’re ready to go. / Spécifiez simplement une clé, un ID ou une valeur de nom dans une balise {{>}}, et vous êtes prêt à partir.
This tag pulls in a content area specified by a key. / Cette balise extrait une zone de contenu spécifiée par une clé.
{{>id:purchased_shoes refresh}}
The optional refresh tag forces the content to refresh at send time. / La balise de rafraîchissement facultative force le contenu à se rafraîchir lors de l’envoi.
This example pulls in information from a variable. / Cet exemple extrait des informations d’une variable.
{{>var:contentField}}
And this example syndicates content from a website. / Et cet exemple syndique le contenu d’un site Web.
{{>get:http://www.example.com}}
Now that you know more about Marketing Cloud’s programmatic languages, let’s cover how and when to use them. / Maintenant que vous en savez plus sur les langages de programmation de Marketing Cloud, voyons comment et quand les utiliser.
After completing this unit, you’ll be able to: /Après avoir terminé cette unité, vous pourrez:
Review the fundamentals and syntax for server-side JavaScript (SSJS). / Passez en revue les principes fondamentaux et la syntaxe du JavaScript côté serveur (SSJS).
Know when to use Core and Platform SSJS libraries. / Savoir quand utiliser les bibliothèques Core et Platform SSJS.
Implement SSJS functions and operators. / Implémentez les fonctions et les opérateurs SSJS.
Work with SSJS examples and best practices. / Utilisez des exemples et des meilleures pratiques SSJS.
While Marketing Cloud offers an integrated programmatic language with AMPscript, it’s not always convenient to learn an entirely new way of interacting with a platform. / Bien que Marketing Cloud propose un langage de programmation intégré avec AMPscript, il n’est pas toujours pratique d’apprendre une toute nouvelle façon d’interagir avec une plate-forme.
To help developers get started more quickly, Marketing Cloud put together server-side JavaScript (SSJS). / Pour aider les développeurs à démarrer plus rapidement, Marketing Cloud a mis en place du JavaScript côté serveur (SSJS).
The syntax and format should look familiar to web developers, but Marketing Cloud customized the language to function specifically with Marketing Cloud activities. / La syntaxe et le format doivent sembler familiers aux développeurs Web, mais Marketing Cloud a personnalisé le langage pour fonctionner spécifiquement avec les activités de Marketing Cloud.
These functions don’t just allow access to Marketing Cloud activities—they also let you use functionality that doesn’t exist in AMPscript. / Ces fonctions ne permettent pas seulement d’accéder aux activités de Marketing Cloud, elles vous permettent également d’utiliser des fonctionnalités qui n’existent pas dans AMPscript.
You can use arrays in SSJS. / Vous pouvez utiliser des tableaux dans SSJS.
You can use the EVAL function in SSJS. / Vous pouvez utiliser la fonction EVAL dans SSJS.
SSJS handles more advanced exception handling, including try catch blocks. / SSJS gère la gestion des exceptions plus avancée, y compris les blocs try catch.
Before diving in, remember that SSJS does not work with external JavaScript libraries and you can’t work with the DOM. / Avant de plonger, n’oubliez pas que SSJS ne fonctionne pas avec les bibliothèques JavaScript externes et que vous ne pouvez pas travailler avec le DOM.
SSJS Syntax and Personalization Strings / Syntaxe SSJS et chaînes de personnalisation
SSJS appears in Marketing Cloud as a code block, like this example. / SSJS apparaît dans Marketing Cloud comme un bloc de code, comme cet exemple.
Or you can just open the block with <script runat=server> and simplify the whole matter. /Ou vous pouvez simplement ouvrir le bloc avec <script runat=server>et simplifier le tout.</p>
SSJS also offers personalization strings to insert values from several different sources. / SSJS propose également des chaînes de personnalisation pour insérer des valeurs provenant de plusieurs sources différentes.
ctrl:field—Subscriber and system attributes from lists and sendable data extensions / Abonnés et attributs système des listes et des extensions de données envoyables
ctrl:var—Variables / Variables
ctrl:eval—Functions and SSJS code expressions / Fonctions et expressions de code SSJS
Here are some examples. / Voici quelques exemples.
If you want to pull a contact’s full name into a landing page, you can use this example. / Si vous souhaitez insérer le nom complet d’un contact dans une page de destination, vous pouvez utiliser cet exemple.
<ctrl:field name=FullName />
This example returns the contactZIP variable, along with a default value if no value exists and a format for that number. / Cet exemple renvoie la variable contactZIP, ainsi qu’une valeur par défaut si aucune valeur n’existe et un format pour ce nombre.
If you want to make the variable value uppercase, you can use a function like this one. / Si vous souhaitez mettre la valeur de la variable en majuscule, vous pouvez utiliser une fonction comme celle-ci.
SSJS offers two libraries, and you may notice some overlap between them. / SSJS propose deux bibliothèques, et vous remarquerez peut-être un certain chevauchement entre elles.
Both allow you to use standard JSON and JavaScript functionality, but you use the libraries at different times. / Les deux vous permettent d’utiliser les fonctionnalités JSON et JavaScript standard, mais vous utilisez les bibliothèques à des moments différents.
So how do you know which one to use? There’s a simple answer to that question. / Alors, comment savez-vous lequel utiliser? Il y a une réponse simple à cette question.
Are you including SSJS in email or SMS messages? Use the Platform library. / Incluez-vous SSJS dans les e-mails ou les SMS? Utilisez la bibliothèque Platform.
Are you building landing pages or applications? Use the Core library. / Créez-vous des pages de destination ou des applications? Utilisez la bibliothèque Core.
Platform functions resemble their AMPscript counterparts and always begin with the Platform prefix. / Les fonctions de la plateforme ressemblent à leurs homologues AMPscript et commencent toujours par le préfixe de la plateforme.
Otherwise, you can accomplish the same kinds of tasks as you can with AMPscript. / Sinon, vous pouvez accomplir les mêmes types de tâches qu’avec AMPscript.
Retrieve and modify account information. / Récupérez et modifiez les informations de compte.
Interact with account users. / Interagissez avec les utilisateurs du compte.
Interact with content areas. / Interagissez avec les zones de contenu.
Add, retrieve, delete, and update data extension information. / Ajoutez, récupérez, supprimez et mettez à jour les informations d’extension de données.
Perform date and time functions. / Exécuter des fonctions de date et d’heure.
Create and send email messages and triggered sends. / Créez et envoyez des e-mails et des envois déclenchés.
Create, retrieve, update, and delete subscriber information. / Créez, récupérez, mettez à jour et supprimez les informations des abonnés.
Interact with HTTP functions and information. / Interagissez avec les fonctions et les informations HTTP.
Use a variety of utility and evaluation functions. / Utilisez une variété de fonctions d’utilité et d’évaluation.
SSJS also supports these methods. / SSJS prend également en charge ces méthodes.
Method Name
Functionality
Nom de la méthode
Fonctionnalité
Add
Invokes the SOAP web service API Create method on an API object
Ajouter
Appelle la méthode Create API du service Web SOAP sur un objet API
Remove
Invokes the SOAP web service API Delete method on an API object
Retirer
Appelle la méthode Delete d’API du service Web SOAP sur un objet API
Update
Invokes the SOAP web service API Update method on an API object
Mise à jour
Appelle la méthode de mise à jour de l’API du service Web SOAP sur un objet AP
Retrieve
Invokes the SOAP web service API Retrieve method on an API object
Récupérer
Appelle la méthode de récupération d’API du service Web SOAP sur un objet API
Next, let’s look at how to retrieve data with SSJS. / Ensuite, regardons comment récupérer des données avec SSJS.
This function pulls data from the same location as the AMPscript example in the previous unit. / Cette fonction extrait les données du même emplacement que l’exemple AMPscript dans l’unité précédente.
<script runat="server">
var dataRows = Platform.Function.LookupRows('Purchases','MemberID',memID);
</script>
Now let’s expand on that function and write those rows to an email. / Développons maintenant cette fonction et écrivons ces lignes dans un e-mail.
If you want to add some more content to an email message, you can bring in content areas using several methods, including the key value shown in this example. / Si vous souhaitez ajouter un peu plus de contenu à un e-mail, vous pouvez ajouter des zones de contenu à l’aide de plusieurs méthodes, notamment la valeur de clé indiquée dans cet exemple
<script runat="server">
var content = Platform.Function.ContentBlockByKey("myExternalKey","impressionRegion",false,"defaultContentHere");
</script>
The additional parameters allow you to specify an impression region for the content area, choose whether the insertion call stops if it encounters an error, and insert some default content if your specific content area can’t be found. / Les paramètres supplémentaires vous permettent de spécifier une région d’impression pour la zone de contenu, de choisir si l’appel d’insertion s’arrête s’il rencontre une erreur et d’insérer du contenu par défaut si votre zone de contenu spécifique est introuvable.
Next, we take a closer look at Guide Template Language (GTL). / Ensuite, nous examinons de plus près le Guide Template Language (GTL).
After completing this unit, you’ll be able to: / Une fois cette unité terminée, vous pourrez :
Review the fundamentals and syntax for AMPscript. /Verifier les principes fondamentaux et la syntaxe d’AMPscript.
Create inline AMPscript and AMPscript blocks./ Créez des blocs AMPscript et AMPscript en ligne.
Insert personalization strings. / Insérez des chaînes de personnalisation.
Implement AMPscript functions and operators. / Implémentez les fonctions et les opérateurs AMPscript.
Work with AMPscript examples and best practices. / Travaillez avec des exemples AMPscript et ces meilleures pratiques.
As a developer, you’re probably familiar with more than a few languages. / En tant que développeur, vous connaissez probablement plusieurs langages.
And as a developer, you know that it’s impossible to learn everything about a language from a single document. / Et en tant que développeur, vous savez qu’il est impossible d’apprendre tout sur une langue à partir d’un seul document.
This module introduces you to the basics of AMPscript, while also giving you the resources you need to dig deeper./ Ce module vous présente les bases d’AMPscript, tout en vous donnant également les ressources dont vous avez besoin pour aller plus loin.
AMPscript Fundamentals and Syntax /Fondamentaux et syntaxe AMPscript
At the most basic level, AMPscript calls act as a placeholder for the data requested from Marketing Cloud or a data extension. / Au niveau le plus basique, les appels AMPscript agissent comme un espace réservé pour les données demandées à Marketing Cloud ou une extension de données.
These calls can appear in one of three basic forms. / Ces appels peuvent apparaître sous l’une des trois formes de base.
AMPscript can handle constant values, values from attributes and data extensions, and keywords. / AMPscript peut gérer des valeurs constantes, des valeurs d’attributs et d’extensions de données et des mots clés.
This example shows how to produce the same results for all three language elements. / Cet exemple montre comment produire les mêmes résultats pour les trois types de données.
‘example@salesforce.com‘ (note the quotes around the string constant /notez les guillemets autour de la constante de chaîne)
SubscriberEmail (this string returns the value of SubscriberEmail from a data extension, which conveniently is example@salesforce.com /cette chaîne renvoie la valeur de SubscriberEmail à partir d’une extension de données, qui est sous cette forme example@salesforce.com)
@EmailAddress (this variable holds the value assigned to it earlier in the AMPscript block, which would be example@salesforce.com /cette variable contient la valeur qui lui a été attribuée plus tôt dans le bloc AMPscript, qui serait example@salesforce.com)
Note / Remarque
Use your own email address or another valid address for testing. / Utilisez votre propre adresse e-mail ou une autre adresse valide pour les tests.
AMPscript uses terms you’re probably familiar with, such as IF, ELSEIF, ELSE, and ENDIF. /AMPscript utilise des termes que vous connaissez probablement, tels que IF, ELSEIF, ELSE et ENDIF.
Take a look at this example to see how to implement these conditions in your AMPscript. /Jetez un œil à cet exemple pour voir comment implémenter ces conditions dans votre code AMPscript.
<script runat=server language=ampscript>
IF @region == '1' THEN
SET @greeting = 'Bonjour!'
ELSEIF @region == '2' THEN
SET @greeting = 'Hola!'
ELSE
SET @greeting = 'Hi!'
ENDIF
</script>
You can include as many ELSEIF statements as necessary for all the conditions you need to evaluate. /Vous pouvez inclure autant d’instructions ELSEIF que nécessaire pour toutes les conditions que vous devez évaluer.
You can also set up FOR loops in AMPscript to iterate over content as many times as necessary. /Vous pouvez également configurer des boucles FOR dans AMPscript pour parcourir le contenu autant de fois que nécessaire.
This example sets the applicable first name values for the number of included roles. /Cet exemple définit les valeurs de prénom applicables pour le nombre de rôles inclus.
%%[FOR @Position = '1' TO @Position = @rowCount DO ]%%
SET @FirstName = FirstName
%%[NEXT @Position]%%
And, of course, you can assign variables (declared as VAR) in AMPscript using SET. /Et, bien sûr, vous pouvez affecter des variables (déclarées comme VAR) dans AMPscript à l’aide de SET.
%%[ VAR @text
SET @text = "Hello, world!"
Output(v(@text))]%%
Notice how the Output() function prints the value of the variable contained in the v(). /Remarquez comment la fonction Output () imprime la valeur de la variable contenue dans le v ().
For email messages, remember that AMPscript processes the HTML body of the message first (including any preheader), then the text body. /Pour les e-mails, n’oubliez pas que AMPscript traite d’abord le corps HTML du message (y compris tout en-tête), puis le corps du texte.
The subject line goes last. / La ligne d’objet en dernier.
AMPscript Functions /Fonctions AMPscript
AMPscript uses functions—an extremely large number of functions. / AMPscript utilise des fonctions, un très grand nombre de fonctions.
We divide functions into several different categories. /Nous divisons les fonctions en plusieurs catégories différentes.
AMPscript Function
What It Does
Fonction AMPscript
Ce qu’il fait
API
Create SOAP API interactions
API
Créer des interactions avec l’API SOAP
Contacts
Modify Marketing Cloud contact information
Contacts
Modifier les informations de contact de Marketing Cloud
Content
Modify Marketing Cloud content, such as text and images in email messages.
Contenu
Modifiez le contenu Marketing Cloud, tel que le texte et les images dans les e-mails.
Data Extension
Modify data in data extensions
Extension de données
Modifier des données dans des extensions de données
Date Time
Modify date and time information in Marketing Cloud
Date Heure
Modifier les informations de date et d’heure dans Marketing Cloud
Encryption
Encrypt and decrypt Marketing Cloud data
Chiffrement
Chiffrer et déchiffrer les données Marketing Cloud
http
Get, post, and modify HTTP information in Marketing Cloud
http
Get, post et modifier des informations HTTP dans Marketing Cloud
Math
Perform basic math functions
Math
Effectuer des fonctions mathématiques de base
Microsoft Dynamics CRM
Interact with Microsoft Dynamics CRM data
CRMMicrosoft Dynamics
Interagir avec les données Microsoft Dynamics CRM
Salesforce
Interact with Sales Cloud data in Marketing Cloud
Salesforce
Interagir avec les données Sales Cloud dans Marketing Cloud
Sites
Interact with CloudPages sites
Sites
Interagir avec les sites CloudPages
Social
Interact with Social Forward functionality in Email Studio
Social
Interagissez avec la fonctionnalité Social Forward dans Email Studio
String
Modify string information in Marketing Cloud
String
Modifier les informations de chaîne dans Marketing Cloud
Utilities
Return and evaluate types of Marketing Cloud data
Utilities
Renvoyer et évaluer les types de données Marketing Cloud
Personalization Strings / Chaînes de personnalisation
AMPscript offers some easy strings to pull information into content, email addresses, and other areas where you need to dynamically assign values. / AMPscript propose des chaînes simples pour extraire des informations dans le contenu, les adresses e-mail et d’autres domaines dans lesquels vous devez affecter dynamiquement des valeurs.
These personalization strings return data from Email Studio lists. / Ces chaînes de personnalisation renvoient des données à partir des listes Email Studio.
Use AMPscript functions to return content from data extensions in other Marketing Cloud functions. / Utilisez les fonctions AMPscript pour renvoyer le contenu des extensions de données dans d’autres fonctions Marketing Cloud.
Impression Tracking /Suivi des impressions
AMPscript lets you determine which sections of an email message perform better in sends. /AMPscript vous permet de déterminer quelles sections d’un message électronique fonctionnent mieux dans les envois.
We may know intuitively that random cat pictures attract more attention than a block of text, but now you have the statistics to prove it! /Nous pouvons savoir intuitivement que les images aléatoires de chats attirent plus l’attention qu’un bloc de texte, mais maintenant vous avez les statistiques pour le prouver!
Surround a piece of content—pulled in using the ContentArea() or ContentAreaByName() functions—with the BeginImpressionRegion() and EndImpressionRegion() functions, and use impression tracking reports to see how your cat pictures measure up. / Entourez un élément de contenu (tiré à l’aide des fonctions ContentArea () ou ContentAreaByName ()) avec les fonctions BeginImpressionRegion () et EndImpressionRegion () et utilisez des rapports de suivi des impressions pour voir comment vos photos de chat se mesurent.
So What Do I Do with AMPscript? / Alors, que dois-je faire avec AMPscript?
You can perform a number of tasks in Marketing Cloud using these functions. / Vous pouvez effectuer un certain nombre de tâches dans Marketing Cloud à l’aide de ces fonctions.
That said, AMPscript is usually used to pull data from data extensions using calls like Lookup() and LookupRow(). /Cela dit, AMPscript est généralement utilisé pour extraire des données des extensions de données à l’aide d’appels comme Lookup () et LookupRow ().
These functions look for data in specified data extensions and return fields based on the values you include in the functions. /Ces fonctions recherchent des données dans des extensions de données spécifiées et renvoient des champs en fonction des valeurs que vous incluez dans les fonctions.
This example looks up purchases made by a contact identified by a member ID and returns any rows containing purchase information. /Cet exemple recherche les achats effectués par un contact identifié par un ID de membre et renvoie toutes les lignes contenant des informations d’achat.
%%[ VAR @row
SET @rows = LookupRows("Purchases","MemberID",@memID)]%%
This example shows how to retrieve a content area from Content Builder in an email message, using the key value. /Cet exemple montre comment récupérer une zone de contenu à partir de Content Builder dans un e-mail, à l’aide de la valeur de clé.
%%=ContentBlockbyKey("myContentBlock")=%%
Once you retrieve that information, you can perform all manner of modifications and transformations to accomplish what you need. / Une fois que vous avez récupéré ces informations, vous pouvez effectuer toutes sortes de modifications et transformations pour accomplir ce dont vous avez besoin.
Next, let’s take a look at Server-side JavaScript (SSJS). / Voyons maintenant le JavaScript côté serveur (SSJS).
Contact Builder is where we create the Data Model in Marketing Cloud. It is giving a single view of the customer’s journeys with your brand.
What can you do with it?
Contact builder gives us the tools to manage, consolidate, organize, and link data from all Salesforce Marketing Cloud apps and External Sources. So with Contact Builder, we can:
Create data extensions to store Contacts information and other data.
Import data
Create relationships between data extensions
Manage Contact information and other data
Provide a single view of the customer
Contact Builder helps you maintain the contact information you use to identify individual contacts across multiple channels and personalize messaging and marketing activities.
Where can you use Contact Builder in Marketing Cloud?
Contact Builder is working only with the apps Journey Builder, Mobile Connect, Mobile Push, GroupConnect, and also drive Einstein Engine.
Note:All attributes from email and Mobile Apps should be set up in Data Designer. These settings are allowing us to update contact information automatically without needing Ampscript and SQL code on all our Journeys in Marketing Cloud.
Get to know the tools and technologies you use to develop for Marketing Cloud. /Découvrez les outils et technologies que vous utilisez pour développer dans Marketing Cloud.
After completing this unit, you’ll be able to: /Une fois cette unité terminée, vous pourrez :
Explain types of Marketing Cloud tenants. /Expliquer les types de locataires Marketing Cloud.
Describe what a business unit is. /Décrire ce qu’est une unité commerciale
Identify what you can configure in Marketing Cloud Administration. /Identifier ce que vous pouvez configurer dans Marketing Cloud Administration.
Whitelist IP addresses for Marketing Cloud. /Adresses IP en liste blanche pour Marketing Cloud.
As a Marketing Cloud developer, you may or may not have admin access to a Marketing Cloud account, but it helps to know how Marketing Cloud is structured as you’re developing custom solutions. /En tant que développeur Marketing Cloud, vous pouvez ou non avoir un accès administrateur à un compte Marketing Cloud, mais cela permet de savoir comment Marketing Cloud est structuré lorsque vous développez des solutions personnalisées.
In this unit, we explore some admin concepts, starting from the top level of an account down to specific user permissions. Let’s take a look at Marketing Cloud account administration. /Dans cette unité, nous explorons certains concepts d’administration, en commençant par le niveau supérieur d’un compte jusqu’à des autorisations utilisateur spécifiques. Jetons un coup d’œil à l’administration du compte Marketing Cloud.
Tenants, MIDs, and Endpoints /Locataires, MID et points de terminaison
Marketing Cloud is an any-size business solution. Whether your company is a team of 10 or a team of 10,000 in 10 countries, you can use Marketing Cloud in a way that fits your company’s needs. /Marketing Cloud est une solution d’entreprise de toute taille. Que votre entreprise soit une équipe de 10 personnes ou une équipe de 10 000 personnes dans 10 pays, vous pouvez utiliser Marketing Cloud d’une manière qui correspond aux besoins de votre entreprise.
The Marketing Cloud edition your company purchases dictates the type of tenant you’re working with. /L’édition Marketing Cloud que votre entreprise achète dicte le type de locataire avec lequel vous travaillez.
A tenant represents your top-level Enterprise account and its business units, your Core account, your top-level Agency account, or your Client account, depending on your tenant type. /Un locataire représente votre compte d’entreprise de niveau supérieur et ses unités commerciales, votre compte principal, votre compte d’agence de niveau supérieur ou votre compte client, selon votre type de locataire.
Tenant Type /Type de locataire
Description
Enterprise 2.0
A tenant is the top-level account and all associated business units. /Un locataire est le compte de niveau supérieur et toutes les unités commerciales associées.
Enterprise
A tenant is the top-level account and all associated On-Your-Behalf or Lock & Publish business units. /Un locataire est le compte de niveau supérieur et toutes les unités commerciales associées de votre part ou Lock & Publish.
Core
A tenant is a single account. /Un locataire est un compte unique.
Agency
Each top-level account and each associated client account is a separate tenant. /Chaque compte de niveau supérieur et chaque compte client associé est un locataire distinct.
A unique Member Identification Code, or MID, is assigned to every account (whether it’s Core, Enterprise or Agency) and any associated child accounts. The MID value is used to identify that entity. So, depending on your Marketing Cloud edition, tenants can include single or multiple MIDs. /Un code d’identification de membre unique, ou MID, est attribué à chaque compte (qu’il s’agisse de Core, Enterprise ou Agency) et de tous les comptes enfants associés. La valeur MID est utilisée pour identifier cette entité. Ainsi, selon votre édition Marketing Cloud, les locataires peuvent inclure un ou plusieurs MID.
An Enterprise 2.0 tenant includes multiple MIDs for Enterprise-edition accounts. /Un locataire Enterprise 2.0 comprend plusieurs MID pour les comptes de l’édition Enterprise.
An Enterprise tenant includes multiple MIDs. /Un locataire Enterprise comprend plusieurs MID.
A Core tenant includes a single top-level account with one MID. /Un locataire principal inclut un seul compte de niveau supérieur avec un MID.
An Agency tenant includes only the top-level account. Each associated client account unit is a separate tenant. /Un locataire d’agence inclut uniquement le compte de niveau supérieur. Chaque unité de compte client associée est un locataire distinct.
The tenant is important because you must reference the tenant’s subdomain to make API requests. We’ll show you how to access that information later in this unit. /Le locataire est important car vous devez référencer le sous-domaine du locataire pour effectuer des demandes d’API. Nous vous montrerons comment accéder à ces informations plus loin dans cette unité.
If you’re working with APIs, you’ll also need to know the MID of the Marketing Cloud account you’re working with. There are a couple of ways to locate the MID after you log into Marketing Cloud. /Si vous travaillez avec des API, vous devez également connaître le MID du compte Marketing Cloud avec lequel vous travaillez. Il existe plusieurs façons de localiser le MID après vous être connecté à Marketing Cloud.
Option 1: Hover over your account name to see the MID. /Passez la souris sur le nom de votre compte pour voir le MID.
Option 2: Under your username, navigate to Setup. Under Company Settings, click Account Settings. The MID is listed as the Account ID. /Sous votre nom d’utilisateur, accédez à Configuration. Sous Paramètres de l’entreprise, cliquez sur Paramètres du compte. Le MID est répertorié comme l’ID de compte.
Tenant Endpoints /Points de terminaison du locataire
Marketing Cloud also assigns a unique, system-generated subdomain to each of its tenants. Your subdomain is represented by a 28-character string starting with the letters “mc.” /Marketing Cloud attribue également un sous-domaine unique généré par le système à chacun de ses locataires. Votre sous-domaine est représenté par une chaîne de 28 caractères commençant par les lettres “mc”.
When your subdomain is appended to Marketing Cloud APIs, it creates endpoints that are unique to your tenant. Only your tenant can use your endpoints. No other Marketing Cloud customer can use them for their API requests. /Lorsque votre sous-domaine est ajouté aux API Marketing Cloud, il crée des points de terminaison uniques à votre locataire. Seul votre locataire peut utiliser vos points de terminaison. Aucun autre client Marketing Cloud ne peut les utiliser pour leurs demandes d’API.
For example, Northern Trail Outfitters’ tenant has this subdomain: /Par exemple, le locataire de Northern Trail Outfitters possède ce sous-domaine:mc563885gzs27c5t9-63k636ttgm
These are their endpoints: /Ce sont leurs points de terminaison:
REST API endpoint: mc563885gzs27c5t9-63k636ttgm.rest.marketingcloudapis.com
SOAP API endpoint: mc563885gzs27c5t9-63k636ttgm.soap.marketingcloudapis.com
When you create a package in Marketing Cloud to configure API requests that use an access token, you can find your tenant’s endpoints, which contain your subdomain. /Lorsque vous créez un package dans Marketing Cloud pour configurer les demandes d’API qui utilisent un jeton d’accès, vous pouvez trouver les points de terminaison de votre locataire, qui contiennent votre sous-domaine.
In Marketing Cloud Setup, click Installed Packages under Apps. /Dans la configuration de Marketing Cloud, cliquez sur Packages installés sous Applications.
Select a package. (We’ll talk more about what this is in the next unit.) /Sélectionnez un package. (Nous parlerons davantage de ce que c’est dans l’unité suivante.)
On the Details page, find the endpoints under Components. /Sur la page Détails, recherchez les points de terminaison sous Composants.
Note /Remarque
If you don’t have administrator permissions to the Marketing Cloud account, share these instructions with the admin to get the information you need. /Si vous ne disposez pas des autorisations d’administrateur sur le compte Marketing Cloud, partagez ces instructions avec l’administrateur pour obtenir les informations dont vous avez besoin.
Business Units /Unités d’affaires
If you’re working with an Enterprise or Enterprise 2.0 tenant, you’ll encounter business units. Business units are each assigned a unique MID. Use business units to control access to information and sharing of information throughout Marketing Cloud. /Si vous travaillez avec un locataire Enterprise ou Enterprise 2.0, vous rencontrerez des unités commerciales. Les unités commerciales se voient chacune attribuer un MID unique. Utilisez des unités commerciales pour contrôler l’accès aux informations et le partage d’informations dans Marketing Cloud.
For example, a company with multiple divisions or brands can create a business unit for each brand, so that users within that business unit can access only their brand-specific content. /Par exemple, une entreprise avec plusieurs divisions ou marques peut créer une unité commerciale pour chaque marque, afin que les utilisateurs de cette unité commerciale puissent accéder uniquement à leur contenu spécifique à la marque.
You can then use user roles and permissions to control what users can do within a business unit. You can also use business units to control user access to develop API requests. /Vous pouvez ensuite utiliser les rôles et les autorisations des utilisateurs pour contrôler ce que les utilisateurs peuvent faire au sein d’une unité commerciale. Vous pouvez également utiliser des unités commerciales pour contrôler l’accès des utilisateurs pour développer des demandes d’API.
Depending on your needs, you can use API interactions to create, update, and delete business units and set or change permissions (you can also do this directly within Marketing Cloud admin). /En fonction de vos besoins, vous pouvez utiliser des interactions API pour créer, mettre à jour et supprimer des unités commerciales et définir ou modifier des autorisations (vous pouvez également le faire directement dans l’administrateur Marketing Cloud).
To manage business units, you can use API requests to build your own user interface or integrate existing software with Marketing Cloud. /Pour gérer les unités commerciales, vous pouvez utiliser des demandes d’API pour créer votre propre interface utilisateur ou intégrer un logiciel existant à Marketing Cloud.
Accounts, User Roles, and Permissions /Comptes, rôles d’utilisateur et autorisations
How an account, tenant, or business unit is actually used is determined by the account settings, user roles, and user permissions configured by the administrator. /La façon dont un compte, un locataire ou une unité commerciale est réellement utilisé est déterminée par les paramètres du compte, les rôles d’utilisateur et les autorisations utilisateur configurés par l’administrateur.
Account Administration /Administration de compte
Account admins control configuration information on the Account Settings workspace in Marketing Cloud Setup. Setup is divided into Account, Security, Applications, and Data Management. /Les administrateurs de compte contrôlent les informations de configuration dans l’espace de travail Paramètres du compte dans la configuration de Marketing Cloud. La configuration est divisée en compte, sécurité, applications et gestion des données.
Administration: Manage roles, users, and business units. Define file transfer locations, such as external FTP sites, and manage security keys and other security options used to encrypt and decrypt data, digitally sign email messages, and implement single sign-on for your Marketing Cloud account. /Administration: gérez les rôles, les utilisateurs et les unités commerciales. Définissez les emplacements de transfert de fichiers, tels que les sites FTP externes, et gérez les clés de sécurité et autres options de sécurité utilisées pour crypter et décrypter les données, signer numériquement les e-mails et implémenter l’authentification unique pour votre compte Marketing Cloud.
Platform Tools: Set up cross-cloud integrations and create packages for API integrations. Configure the campaigns tool, set up approvals and workflows, and configure Marketing Cloud apps. /Outils de plate-forme: configurez des intégrations inter-cloud et créez des packages pour les intégrations API. Configurez l’outil Campagnes, configurez les approbations et les workflows, et configurez les applications Marketing Cloud.
Settings: Find information such as the Account ID, default settings for emails, sender authentication domain, and more. Configure security settings, such as session timeouts, and create a login IP whitelist. View the Identity Verification Access Log and export email whitelist details. /Paramètres: recherchez des informations telles que l’ID de compte, les paramètres par défaut des e-mails, le domaine d’authentification de l’expéditeur, etc. Configurez les paramètres de sécurité, tels que les délais d’expiration de session, et créez une liste blanche d’adresses IP de connexion. Affichez le journal d’accès à la vérification d’identité et exportez les détails de la liste blanche des e-mails.
User Administration /Administration des utilisateurs
User roles and permissions control everything from access to business units or Marketing Cloud products, such as Journey Builder or Email Studio, to what a user can do within a product, such as creating or sending a message. /Les rôles et autorisations des utilisateurs contrôlent tout, de l’accès aux unités commerciales ou aux produits Marketing Cloud, tels que Journey Builder ou Email Studio, à ce qu’un utilisateur peut faire dans un produit, comme la création ou l’envoi d’un message.
Note /Remarque
Right now, we’re talking about roles and permissions for Marketing Cloud administrators and business users. Additional permissions for developers working on API requests are granted when an installed package is created for an API component. We talk about that more in a later unit. /À l’heure actuelle, nous parlons des rôles et des autorisations pour les administrateurs Marketing Cloud et les utilisateurs professionnels. Des autorisations supplémentaires sont accordées aux développeurs travaillant sur des demandes d’API lorsqu’un package installé est créé pour un composant d’API. Nous en parlerons plus dans une unité ultérieure.
A role is a set of permissions. Marketing Cloud includes five standard roles, but you can also create and customize roles for your account. /Un rôle est un ensemble d’autorisations. Marketing Cloud comprend cinq rôles standard, mais vous pouvez également créer et personnaliser des rôles pour votre compte.
A permission grants a user access to something and determines what they can do with it. For example, you can grant a user permission to read something, but not create something. /Une autorisation accorde à un utilisateur l’accès à quelque chose et détermine ce qu’il peut en faire. Par exemple, vous pouvez accorder à un utilisateur l’autorisation de lire quelque chose, mais pas de créer quelque chose.
When it comes to users, administrators can: /En ce qui concerne les utilisateurs, les administrateurs peuvent:
Add users /Ajouter des utilisateurs
Modify user permissions /Modifier les autorisations des utilisateurs
Disable users /Désactiver les utilisateurs
Reset passwords /Réinitialiser les mots de passe
If you have administrator permissions, you can manage users in Marketing Cloud. /Si vous disposez des autorisations d’administrateur, vous pouvez gérer les utilisateurs dans Marketing Cloud.
Navigate to Setup (Hint: it’s under your username). /Accédez à Configuration (indice: c’est sous votre nom d’utilisateur).
Click Users. /Cliquez sur Utilisateurs.
To add a user, click Create. /Pour ajouter un utilisateur, cliquez sur Créer.
To update a user, click the user and click Edit. /Pour mettre à jour un utilisateur, cliquez sur l’utilisateur et cliquez sur Modifier.
Check out Marketing Cloud Account User Permissions on Salesforce Help to learn more about how permissions determine the actions a user can take in Marketing Cloud. /Consultez les autorisations des utilisateurs de compte Marketing Cloud dans l’aide de Salesforce pour en savoir plus sur la façon dont les autorisations déterminent les actions qu’un utilisateur peut effectuer dans Marketing Cloud.
IP Address Whitelist /Liste blanche d’adresses IP
Whitelisting is the process of configuring a spam filter to exempt certain email messages from being filtered or rejected. /La mise en liste blanche est le processus de configuration d’un filtre anti-spam afin d’exempter certains e-mails d’être filtrés ou rejetés.
In this case, it refers to configuring your own corporate mail server so that it doesn’t reject or filter the email campaigns you send via Marketing Cloud. /Dans ce cas, il s’agit de configurer votre propre serveur de messagerie d’entreprise afin qu’il ne rejette ni ne filtre les campagnes d’e-mails que vous envoyez via Marketing Cloud.
Your servers can interact with Marketing Cloud applications for several different reasons: /Vos serveurs peuvent interagir avec les applications Marketing Cloud pour plusieurs raisons différentes:
You use Marketing Cloud API to create and send your email and SMS messages. /Vous utilisez l’API Marketing Cloud pour créer et envoyer vos e-mails et SMS.
You use Marketing Cloud Connect. /Vous utilisez Marketing Cloud Connect.
You use Marketing Cloud for Microsoft Dynamics CRM integration. /Vous utilisez l’intégration de Marketing Cloud pour Microsoft Dynamics CRM.
To properly use the API or the integrations, whitelist Marketing Cloud server IP addresses to allow uninterrupted communication. /Pour utiliser correctement l’API ou les intégrations, mettez en liste blanche les adresses IP du serveur Marketing Cloud pour permettre une communication ininterrompue.
Because server configurations are unique to each instance, apply them according to your system. You can navigate to the IP Whitelist in Marketing Cloud Setup under Security. /Les configurations de serveur étant uniques à chaque instance, appliquez-les en fonction de votre système. Vous pouvez accéder à la liste blanche IP dans la configuration de Marketing Cloud sous Sécurité.
Note /Remarque
We provide a reference of IP addresses for you to whitelist depending on the type of API calls you’re making or integrations you’re setting up. Use the Whitelist reference on Salesforce Help to ensure your list of IP addresses is always current. /Nous vous fournissons une référence d’adresses IP à mettre sur liste blanche en fonction du type d’appels d’API que vous effectuez ou des intégrations que vous configurez. Utilisez la référence de liste blanche dans l’aide de Salesforce pour vous assurer que votre liste d’adresses IP est toujours à jour.
Now that you understand Marketing Cloud developer tools and admin basics, in the next unit we walk through the steps to set up your developer environment. /Maintenant que vous comprenez les outils de développement et les bases d’administration de Marketing Cloud, dans la prochaine unité, nous parcourons les étapes pour configurer votre environnement de développeur.
After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :
Explain the differences between the Marketing Cloud REST and SOAP APIs. /Expliquer les différences entre les API Marketing Cloud REST et SOAP.
Describe how you can use the Marketing Cloud SDKs./Décrire comment utiliser les SDK Marketing Cloud.
Name the Marketing Cloud programmatic languages. /Nommer les langages de programmation Marketing Cloud.
Introduction /Introduction
So you’re a Marketing Cloud developer. Whether you’ve been doing this a while, or learning it for the first time, we want to introduce you to the wealth of tools at your fingertips for extending the power of Marketing Cloud. /Vous êtes donc un développeur Marketing Cloud. Que vous ayez fait cela pendant un certain temps ou que vous l’ayez appris pour la première fois, nous voulons vous présenter la richesse des outils à portée de main pour étendre la puissance de Marketing Cloud.
Trailblazers like you are making a huge impact with Salesforce customers around the globe—whether you’re a consultant doing custom development for multiple customers, or an in-house developer creating custom solutions for your employer. /Les pionniers comme vous ont un impact énorme sur les clients Salesforce du monde entier, que vous soyez un consultant réalisant un développement personnalisé pour plusieurs clients ou un développeur interne créant des solutions personnalisées pour votre employeur.
From SDKs to APIs, we’ll give you enough information in this module to get started with Marketing Cloud development, so you’re ready to use the tools you need for your next project. /Des SDK aux API, nous vous donnerons suffisamment d’informations dans ce module pour commencer le développement de Marketing Cloud, vous êtes donc prêt à utiliser les outils dont vous avez besoin pour votre prochain projet.
Note /rEMARQUE
Want to meet more Trailblazers? Check out their stories on Trailhead. /Vous voulez rencontrer plus de pionniers? Découvrez leurs histoires sur Trailhead.
Marketing Cloud APIs /APIs Marketing Cloud
Ready to get started with Marketing Cloud APIs? In this module, we assume you understand the basics about APIs (application programming interfaces) and how they are used for communication between two different software applications. /Prêt à démarrer avec les API Marketing Cloud? Dans ce module, nous supposons que vous comprenez les bases des API (interfaces de programmation d’applications) et comment elles sont utilisées pour la communication entre deux applications logicielles différentes.
If you haven’t worked with APIs before, that’s okay. In this badge, we’re looking at the Marketing Cloud APIs at a high level, so you can understand their differences and how you can use them. /Si vous n’avez jamais travaillé avec des API auparavant, aucun problème. Dans ce badge, nous examinons les API Marketing Cloud à un niveau élevé, afin que vous puissiez comprendre leurs différences et comment les utiliser.
So let’s dive into Marketing Cloud APIs. The first thing to know is that Marketing Cloud offers two APIs: REST (Representational State Transfer) and SOAP (Simple Object Access Protocol). Both of these APIs are used for distinct purposes. /Plongeons-nous donc dans les API Marketing Cloud. La première chose à savoir est que Marketing Cloud propose deux API: REST (Representational State Transfer) et SOAP (Simple Object Access Protocol). Ces deux API sont utilisées à des fins distinctes.
The REST API exposes broader access to Marketing Cloud capabilities. The SOAP API provides comprehensive access to most email functionality. These two APIs share a common authentication mechanism based on OAuth 2. Let’s take a closer look at each. /L’API REST offre un accès plus large aux fonctionnalités de Marketing Cloud. L’API SOAP offre un accès complet à la plupart des fonctionnalités de messagerie. Ces deux API partagent un mécanisme d’authentification commun basé sur OAuth 2. Examinons chacune de plus près
REST API /API REST
The REST API for Marketing Cloud is a great way to share assets from your internal databases or applications with your Marketing Cloud account. /L’API REST de Marketing Cloud est un excellent moyen de partager descréas de vos bases de données ou applications internes avec votre compte Marketing Cloud.
Here are some examples of what you can do: /Voici quelques exemples de ce que vous pouvez faire:
Marketing Cloud REST API
What you use it for…
API Marketing Cloud REST
À quoi vous servira t-il …
Content Builder
Share marketing content, such as emails, images, text, and other documents.
Générateur de contenu
Partagez du contenu marketing, comme des e-mails, des images, du texte et d’autres documents.
Event Notification Service
Receive notifications when certain events occur in Marketing Cloud. You can be notified when customers request password resets, get order confirmations, log in using two-factor authentication, and other events.
Service de notification d’événements
Recevez des notifications lorsque certains événements se produisent dans Marketing Cloud. Vous pouvez être averti lorsque les clients demandent la réinitialisation du mot de passe, obtiennent des confirmations de commande, se connectent à l’aide de l’authentification à deux facteurs et d’autres événements.
Journey Builder
Create event-driven, responsive campaigns to distribute across any channel (online and offline), at any time and at any frequency.
Journey Builder
Créez des campagnes réactives axées sur les événements pour les diffuser sur n’importe quel canal (en ligne et hors ligne), à tout moment et à n’importe quelle fréquence.
GroupConnect Chat Messaging
Send real-time event-based messages to your users in Facebook Messenger and LINE.
Messagerie de discussion GroupConnect
Envoyez des messages événementiels en temps réel à vos utilisateurs via Facebook Messenger et LINE.
MobileConnect API
Subscribe mobile numbers to a short code using one of three SMS opt-in variations.
API MobileConnect
Abonnez les numéros de téléphone mobile à un code court en utilisant l’une des trois variantes d’activation par SMS.
Personalization Builder
Update the data used to provide Einstein recommendations, manage consumer privacy requests, and easily download large reports.
Générateur de personnalisation
Mettez à jour les données utilisées pour fournir des recommandations Einstein, gérer les demandes de confidentialité des consommateurs et télécharger facilement des rapports volumineux.
Transactional Messaging
Send personalized, transactional email messages to your customers.
Messagerie transactionnelle
Envoyez des e-mails transactionnels personnalisés à vos clients.
All new Marketing Cloud technologies implement REST API, so this is an important one to familiarize yourself with. Here are a few important things to note about the Marketing Cloud REST API: /Toutes les nouvelles technologies de Marketing Cloud implémentent l’API REST, c’est donc un élément important dont il faut vous familiariser avec. Voici quelques points importants à noter sur l’API REST Marketing Cloud:
The REST API uses JSON (JavaScript Object Notation) request and response bodies and resource endpoints to support multi-channel use. /L’API REST utilise des corps de requête et de réponse JSON (JavaScript Object Notation) et des points de terminaison de ressource pour prendre en charge l’utilisation multicanal.
Most REST calls are synchronous. /La plupart des appels REST sont synchrones.
Timeout values are 120 seconds for non-tracking operations and 300 seconds for tracking and data retrieve operations. /Les valeurs d’expiration sont de 120 secondes pour les opérations sans suivi et de 300 secondes pour les opérations de suivi et de récupération de données.
The maximum payload of any call is four megabytes. /La charge utile maximale de tout appel est de quatre mégaoctets.
SOAP API /API SOAP
As you know, SOAP APIs provide a means for applications on different operating systems, technologies, and languages to communicate using only XML. /Comme vous le savez, les API SOAP permettent aux applications sur différents systèmes d’exploitation, technologies et langages de communiquer en utilisant uniquement XML.
You can use the Marketing Cloud SOAP API for managing things such as tracking data, subscribers and lists, automations, content, and most other email activities. /Vous pouvez utiliser l’API SOAP de Marketing Cloud pour gérer des éléments tels que les données de suivi, les abonnés et les listes, les automatisations, le contenu et la plupart des autres activités de messagerie.
Here’s some examples of what you can do: /Voici quelques exemples de ce que vous pouvez faire:
Web Services SOAP API
What you use it for…
API SOAP des services Web
À quoi vous servira t-il …
Send Email
Schedule and send emails, identifying message recipients using dynamic, rule-based segmentation of lists, events and profiles.
Envoyer un e-mail
Planifiez et envoyez des e-mails, identifiez les destinataires des messages à l’aide d’une segmentation dynamique, basée sur des règles, des listes, des événements et des profils.
Tracking
Retrieve tracking data and use it to create reports and dashboards to see how your customers view and respond to your data.
Suivi
Récupérez les données de suivi et utilisez-les pour créer des rapports et des tableaux de bord pour voir comment vos clients voient et répondent à vos données.
Subscribers and lists
Retrieve subscribers for a list or lists for a subscriber.
Abonnés et listes
Récupérez les abonnés pour une liste ou des listes pour un abonné.
Automations
Define an activity using an automation in Automation Studio.
Automatismes
Définissez une activité à l’aide d’une automatisation dans Automation Studio.
Triggered Send
Create a triggered email send.
Envoi déclenché
Créez un envoi d’e-mail déclenché.
Keep these things in mind when using the Marketing Cloud SOAP API: /Gardez ces éléments à l’esprit lorsque vous utilisez l’API SOAP Marketing Cloud:
The SOAP API uses SOAP envelopes to pass information between you and Marketing Cloud. /L’API SOAP utilise des enveloppes SOAP pour transmettre des informations entre vous et Marketing Cloud.
We recommend a limit of no more than 2000 per minute for SOAP calls. /Nous recommandons une limite maximale de 2000 par minute pour les appels SOAP.
Support may request your SOAP envelope to troubleshoot issues. /Le support peut demander votre enveloppe SOAP pour résoudre les problèmes.
Marketing Cloud SDKs /SDK Marketing Cloud
Looking for SDKs (Software Development Kits) to develop custom applications you can use with Marketing Cloud? You’re in luck! Marketing Cloud SDKs provide a cross-functional framework around the SOAP and REST APIs, allowing you to integrate APIs using native language code libraries. /Vous recherchez des SDK (kits de développement logiciel) pour développer des applications personnalisées que vous pouvez utiliser avec Marketing Cloud? Vous êtes chanceux! Les SDK Marketing Cloud fournissent un cadre interfonctionnel autour des API SOAP et REST, vous permettant d’intégrer des API à l’aide de bibliothèques de code en langue native.
The Marketing Cloud platform SDKs use both the SOAP and REST APIs to provide agnostic protocol interfaces and automated token management. In addition to SDKs for the Marketing Cloud platform, we offer SDKs for MobilePush and Content Builder. /Les SDK de la plateforme Marketing Cloud utilisent à la fois les API SOAP et REST pour fournir des interfaces de protocole agnostiques et une gestion automatisée des jetons. En plus des SDK pour la plateforme Marketing Cloud, nous proposons des SDK pour MobilePush et Content Builder.
We currently offer six platform SDKs: C#, Java, Node, PHP, Python, and Ruby. Check out example code for a few of these: /Nous proposons actuellement six SDK de plate-forme: C #, Java, Node, PHP, Python et Ruby. Découvrez un exemple de code pour certains d’entre eux:
Platform
Code Sample of the SDK being used to retrieve all lists in an account /Exemple de code du SDK utilisé pour récupérer toutes les listes d’un compte
C# SDK
using FuelSDK; ET_Client client = new ET_Client(); ET_List request = new ET_List(); request.AuthStub = client; GetReturn response = list.Get(); Console.WriteLine(response.Status.ToString());
PHP SDK
require('sdk/ET_Client.php'); $client = new ET_Client(); $request = new ET_List(); $request->authStub = $client; $response = $request->get(); print_r($response);
We also provide SDKs for iOS and Android to use with MobilePush, a Marketing Cloud product that allows you to create and send targeted push messages based on cross-channel consumer data to encourage app usage. /Nous fournissons également des SDK pour iOS et Android à utiliser avec MobilePush, un produit Marketing Cloud qui vous permet de créer et d’envoyer des messages push ciblés basés sur les données des consommateurs cross-canal pour encourager l’utilisation de l’application.
The Salesforce Marketing Cloud SDKs, excluding the MobilePush and Content Builder SDKs, are community-supported projects. The SDK source code, samples, and documentation are publicly available on Github to use as-is or fork and modify for your needs. We invite everyone in the community to collaborate with us on Github and submit pull requests to help improve the source code and samples. /Les SDK Salesforce Marketing Cloud, à l’exception des SDK MobilePush et Content Builder, sont des projets pris en charge par la communauté. Le code source, les exemples et la documentation du SDK sont accessibles au public sur Github pour être utilisés tels quels ou fork et les modifier selon vos besoins. Nous invitons tous les membres de la communauté à collaborer avec nous sur Github et à soumettre des demandes d’extraction pour améliorer le code source et les exemples.
Marketing Cloud Programmatic Languages /Langages programmatiques Marketing Cloud
Marketing Cloud offers custom scripting languages to personalize landing pages, create applications, construct cross-channel templates or layouts, and work with messaging functions on the Marketing Cloud platform. /Marketing Cloud propose des langages de script personnalisés pour personnaliser les pages de destination, créer des applications, créer des modèles ou des mises en page multicanaux et utiliser des fonctions de messagerie sur la plateforme Marketing Cloud.
AMPscript
AMPscript is a scripting language that you can embed within HTML emails, text emails, landing pages, SMS messages, and push notifications from MobilePush. Do you want a message to display customized text to the recipient? /AMPscript est un langage de script que vous pouvez intégrer dans des e-mails HTML, des e-mails texte, des pages de destination, des messages SMS et des notifications push de MobilePush. Voulez-vous qu’un message affiche un texte personnalisé pour le destinataire?
For example, “Thanks for your purchase, Ted, you earned 1,000 points as a Gold subscriber!” AMPscript is your answer for personalization. Marketing Cloud processes the AMPscript calls at the time of send. /Par exemple, «Merci pour votre achat, Ted, vous avez gagné 1 000 points en tant qu’abonné Gold!» AMPscript est votre réponse pour la personnalisation. Marketing Cloud traite les appels AMPscript au moment de l’envoi.
Server-Side JavaScript (SSJS)
Marketing Cloud uses JavaScript code processed by Marketing Cloud servers. Instead of using the browser to render the JavaScript on the client-side computer, Marketing Cloud executes the JavaScript on the server when rendering. While you can duplicate the functionality of AMPscript using SSJS, SSJS doesn’t work with the Document Object Model (DOM) and doesn’t function with exterior libraries. /Marketing Cloud utilise du code JavaScript traité par les serveurs Marketing Cloud. Au lieu d’utiliser le navigateur pour rendre le JavaScript sur l’ordinateur côté client, Marketing Cloud exécute le JavaScript sur le serveur lors du rendu. Bien que vous puissiez dupliquer la fonctionnalité d’AMPscript à l’aide de SSJS, SSJS ne fonctionne pas avec le modèle d’objet de document (DOM) et ne fonctionne pas avec les bibliothèques extérieures.
In other words, you can use these functions to modify Marketing Cloud content, but not browser-based things like JavaScript. Instead, use libraries provided by Marketing Cloud to create SSJS that works. These libraries also allow updates to SSJS, while maintaining previous versions, to avoid breaking preexisting code. /En d’autres termes, vous pouvez utiliser ces fonctions pour modifier le contenu Marketing Cloud, mais pas les choses basées sur un navigateur comme JavaScript. Utilisez plutôt les bibliothèques fournies par Marketing Cloud pour créer SSJS qui fonctionne. Ces bibliothèques permettent également des mises à jour de SSJS, tout en conservant les versions précédentes, pour éviter de casser le code préexistant.
Wondering whether to use AMPscript or SSJS? Consider this: /Vous vous demandez s’il faut utiliser AMPscript ou SSJS? Lisez ceci:
AMPscript is the preferred language for personalizing message content. It simply and efficiently handles inline personalization or simple IF ELSE statements. /AMPscript est la langue préférée pour personnaliser le contenu des messages. Il gère simplement et efficacement la personnalisation en ligne ou les simples instructions IF ELSE.
AMPscript works better than SSJS for use cases where each subscriber needs to see unique content. /AMPscript fonctionne mieux que SSJS pour les cas d’utilisation où chaque abonné a besoin de voir un contenu unique.
AMPscript has a shorter learning curve than SSJS for users new to scripting languages in general./
A great number of people already know JavaScript and can immediately apply that knowledge to Marketing Cloud. /AMPscript a une courbe d’apprentissage plus courte que SSJS pour les utilisateurs nouveaux dans les langages de script en général.
Most users can handle the tasks they need to perform using AMPscript. /La plupart des utilisateurs peuvent gérer les tâches dont ils ont besoin pour effectuer en utilisant AMPscript.
We recommend that you exclusively use AMPscript or Platform object server-side JavaScript functions in email messages and reserve your use of Core library server-side JavaScript to landing pages and applications where AMPscript doesn’t provide appropriate functions. /Nous vous recommandons d’utiliser exclusivement les fonctions JavaScript côté serveur AMPscript ou Platform Platform dans les e-mails et de réserver votre utilisation du JavaScript côté serveur de la bibliothèque principale aux pages de destination et aux applications où AMPscript ne propose pas de fonctions appropriées.
Guide Template Language (GTL)
GTL provides a declarative syntax used for creating personalized, dynamic, data-driven messages, as well as constructing cross-channel templates and layouts. /GTL fournit une syntaxe déclarative utilisée pour créer des messages personnalisés, dynamiques et basés sur les données, ainsi que pour construire des modèles et des mises en page multicanaux.
GTL uses the widely adopted Handlebars and Mustache template languages and provides additional functionality, while simplifying how users interact with content and data to help them quickly build personalized Journey messages. /GTL utilise les langages de modèles de guidon et de moustache largement adoptés et fournit des fonctionnalités supplémentaires, tout en simplifiant la façon dont les utilisateurs interagissent avec le contenu et les données pour les aider à créer rapidement des messages Journey personnalisés.
GTL works with JSON data sources supplied by script or by a REST API service. Guide can also access specified lists and data extensions within a Marketing Cloud account. /GTL fonctionne avec des sources de données JSON fournies par script ou par un service API REST. Guide peut également accéder aux listes et extensions de données spécifiées dans un compte Marketing Cloud.
After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :
Define SQL and why it is used. /Définir SQL et savoir pourquoi il est utilisé.
Use SQL within Marketing Cloud. /Utiliser SQL dans Marketing Cloud.
Identify best practices for using SQL. /Identifier les meilleures pratiques d’utilisation de SQL.
What Is SQL? /Qu’est-ce que SQL?
You’ve moved in to Marketing Cloud, unpacked, and even started to arrange your space. /Vous avez emménagé dans Marketing Cloud, déballé et même commencé à organiser votre plateforme.
Now for the finishing touches. As we mentioned earlier, Marketing Cloud data extensions and Contact Builder use a relational database. / Maintenant pour la touche finale. Comme nous l’avons mentionné précédemment, les extensions de données Marketing Cloud et Contact Builder utilisent une base de données relationnelle.
So, you need a good way to get to all of that rich data. Enter: Structured Query Language (or SQL), a domain-specific language that can do just that. /Vous avez donc besoin d’un bon moyen d’accéder à toutes ces données riches. Utilisez: Structured Query Language (ou SQL), un langage spécifique au domaine qui peut faire exactement cela.
In Marketing Cloud, an SQL query activity is used to execute queries and retrieve data for reporting or segmenting audiences. /Dans Marketing Cloud, une activité de requête SQL est utilisée pour exécuter des requêtes et récupérer des données pour la génération de rapports ou la segmentation d’audiences.
Use SQL in Marketing Cloud / Utiliser SQL dans Marketing Cloud
First, let’s review how a few specific SQL commands are used in Marketing Cloud. / Tout d’abord, revoyons comment quelques commandes SQL spécifiques sont utilisées dans Marketing Cloud.
SELECT: command to locate data on a database /SELECT: commande pour localiser les données dans une base de données
FROM: location where data reside within Marketing Cloud (usually a data extension) /FROM: emplacement où résident les données dans Marketing Cloud (généralement une extension de données)
JOIN: allows the query to search multiple tables and/or data extensions /JOIN: permet à la requête de rechercher plusieurs tables et / ou extensions de données
WHERE: used to filter out data you do/don’t want / OÙ: utilisé pour filtrer les données que vous soutaitez / ne souhaitez pas
Here’s an example. /Voici un exemple.
SELECT emailaddress as ‘Email_Address’, favoritecolor as ‘Favorite_Color’
FROM [MasterData Extension] m
INNER JOIN JuneMarketingSend j
ON m.emailaddress = j.emailaddress
WHERE m.emailaddress is not NULL
Need a translation? Running this query retrieves email and favorite color from the master data extension, and joins it with any matching email addresses from the June marketing send. / Besoin d’une traduction? L’exécution de cette requête récupère les e-mails et la couleur préférée de l’extension des données de base et les joint à toutes les adresses e-mail correspondantes de l’envoi marketing de juin.
Additionally, it only returns emails that are not missing. /De plus, il ne renvoie que les e-mails qui ne manquent pas.
Also notice the m and the j. These are SQL aliases that are used to give a table, or a field in a table, a temporary name. / Notez également le m et le j. Ce sont des alias SQL qui sont utilisés pour donner un nom temporaire à une table ou à un champ d’une table.
This is especially helpful when you have a common field name between data extensions, like CustomerID or EmailAddress. You can also see it written like the following. /Cela est particulièrement utile lorsque vous avez un nom de champ commun entre les extensions de données, comme CustomerID ou EmailAddress. Vous pouvez également le voir écrit comme suit.
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerID=o.CustomerID
Note /Remarque
SQL commands are not case sensitive: select is the same as SELECT. / Les commandes SQL ne sont pas sensibles à la casse: select est identique à SELECT.
SQL Data Views / Vues de données SQL
System data views are Salesforce-created queries that you can use to find information about your subscribers. /Les vues de données système sont des requêtes créées par Salesforce que vous pouvez utiliser pour rechercher des informations sur vos abonnés.
Just remember, you won’t be able to make changes to these precreated data views. Here are some of the most commonly used views. /N’oubliez pas que vous ne pouvez pas modifier ces vues de données précréées. Voici quelques-unes des vues les plus utilisées.
Identify and then suppress commonly bounced email addresses from sends. /Identifiez, puis supprimez les adresses e-mail couramment renvoyées des envois.
Query these data views in Automation Studio to view click and open data for emails from your Marketing Cloud account. / Recherchez ces vues de données dans Automation Studio pour afficher les données de clic et d’ouverture des e-mails de votre compte Marketing Cloud.
Helps to identify additional messaging opportunities by indicating subscriber engagement on a specific JobID. /Aide à identifier des opportunités de messagerie supplémentaires en indiquant l’engagement des abonnés sur un JobID spécifique.
Query this data view in Automation Studio to view complaints data related to emails from your Marketing Cloud account. / Recherchez cette vue de données dans Automation Studio pour afficher les données relatives aux plaintes liées aux e-mails de votre compte Marketing Cloud.
Use to prune your lists to ensure more accurate audiences and improve deliverability. /Utilisez pour affiner vos listes pour garantir des audiences plus précises et améliorer la dérivabilité.
Find a journey’s status, created and last modified date, and other general journey information using this Journey Builder data view. / Trouvez le statut d’un parcours, la date de création et la dernière modification et d’autres informations générales sur le parcours à l’aide de cette vue de données Journey Builder.
Note/Remarque
Click and open tracking data displays in Central Standard Time, does not observe Daylight Savings Time, and is rounded to the nearest second. /Cliquez et ouvrez les données de suivi s’affichent en heure normale centrale, ne tient pas compte de l’heure d’été et sont arrondies à la seconde la plus proche.
So how do you use these data views? / Alors, comment utiliser ces vues de données?
First create a data extension to store the data you need from these views, then navigate to Automation Studio to create a query activity based on the desired data view table. /Créez d’abord une extension de données pour stocker les données dont vous avez besoin à partir de ces vues, puis accédez à Automation Studio pour créer une activité de requête basée sur la table de vue de données souhaitée.
After you complete and run the automation, the output is stored in your created data extension. /Une fois l’automatisation terminée et exécutée, la sortie est stockée dans votre extension de données créée.
Here is a query example that pulls data from the complaint data view for the last 6 months and provides SubscriberKey, JobIDs, and Bounce Reasons. /Voici un exemple de requête qui extrait des données de la vue des données de réclamation pour les 6 derniers mois et fournit SubscriberKey, JobIDs et Bounce Reasons.
SELECT SubscriberKey,JobID,SMTPBounceReason
FROM _Complaint
Joining Data with SQL / Joindre des données avec SQL
Beyond data views, SQL queries can also be customized to solve for a variety of business needs. / Au-delà des vues de données, les requêtes SQL peuvent également être personnalisées pour répondre à divers besoins de l’entreprise.
Say you want to send an email that has data stored in the send log and data found in your customer data extension. / Supposons que vous souhaitez envoyer un e-mail contenant des données stockées dans le journal d’envoi et des données trouvées dans votre extension de données client.
To craft these queries, you’ll want to understand the concept of joins—or taking data from one source and joining it with data from another source. /Pour créer ces requêtes, vous devez comprendre le concept de jointures, ou prendre des données d’une source et les associer à des données d’une autre source.
SQL joins can be complex, so let’s review some join scenarios using a Venn diagram. / Les jointures SQL peuvent être complexes, examinons donc certains scénarios de jointure à l’aide d’un diagramme de Venn.
Let’s start with the top row, known as the left and right joins. /Commençons par la ligne du haut, appelée jointure gauche et droite.
Diagram 1: Left Outer Join
You want all records from data extension A, plus matching records in the data extension B. / Vous voulez tous les enregistrements de l’extension de données A, ainsi que les enregistrements correspondants dans l’extension de données B.
SELECT *
FROM DataExtension A
LEFT JOIN DataExtension B
ON A.Field = B.Field
Sample Result /Exemple de résultat
Data Extension A
Data Extension B
Name
Email
Name
Email
Joe
joe@email.com
Joe
joe@email.com
Jenn
jenn@email.com
null
null
Justin
justin@email.com
null
null
Diagram 2: Left Outer Join with Exclusions
In this join, we exclude the records we don’t want from data extension B. /Dans cette jointure, nous excluons les enregistrements que nous ne voulons pas de l’extension de données B.
SELECT *
FROM DataExtension A
LEFT JOIN DataExtension B
ON A.Field = B.Field
WHERE B.Field IS NULL
Sample Result /Exemple de résultat
Data Extension A
Data Extension B
Name
Email
Name
Email
Joe
joe@email.com
null
null
Jenn
jenn@email.com
null
null
Justin
justin@email.com
null
null
Diagram 3 and 4: Right Joins
As for the right joins, they’re the reverse of the previous scenarios. /Quant aux jointures de droite, elles sont l’inverse des scénarios précédents.
Diagram
Code
3
SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field
4
SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field WHERE A.Field IS NULL
Now let’s look at inner and outer joins. /Voyons maintenant les jointures internes et externes.
Diagram 5: Inner Join
This query returns records that have matching values in both data extensions. /Cette requête renvoie des enregistrements qui ont des valeurs correspondantes dans les deux extensions de données.
SELECT *
FROM DataExtension A
INNER JOIN DataExtension B
ON A.Field = B.Field
Sample Result /Exemple de résultat
Data Extension A
Data Extension B
Name
Email
Name
Email
Joe
joe@email.com
Joe
joe@email.com
Jonathan
jonathan@email.com
Jonathan
jonathan@email.com
Diagram 6: Full Outer Join
Full outer joins return all matching records from both data extensions. /Les jointures externes complètes renvoient tous les enregistrements correspondants des deux extensions de données.
SELECT *
FROM DataExtension A
FULL OUTER JOIN DataExtension B
ON A.Field = B.Field
Sample Result /Exemple de résultat
Data Extension A
Data Extension B
Name
Email
Name
Email
Joe
joe@email.com
Joe
joe@email.com
Jenn
jenn@email.com
null
null
Justin
justin@email.com
null
null
null
null
Jennifer
jennifer@email.com
Jonathan
jonathan@email.com
Jonathan
jonathan@email.com
Diagram 7: Outer Join
Returns all matching records from both data extensions, minus the records we don’t want. /Renvoie tous les enregistrements correspondants des deux extensions de données, moins les enregistrements dont nous ne voulons pas.
SELECT *
FROM DataExtension A
FULL OUTER JOIN DataExtension B
ON A.Field = B.Field
WHERE A.Field IS NULL OR B.Field IS NULL
Sample Result /Exemple de résultat
Data Extension A
Data Extension B
Name
Email
Name
Email
Joe
joe@email.com
null
null
Jenn
jenn@email.com
null
null
Justin
justin@email.com
null
null
null
null
Jennifer
jennifer@email.com
null
null
Jonathan
jonathan@email.com
Note/Remarque
Be wary of outer joins as they can potentially return very large result sets! / Méfiez-vous des jointures externes car elles peuvent potentiellement renvoyer de très grands ensembles de résultats!
See SQL in Action /Voir SQL en action
Cloud Kicks has decided to send an exclusive offer to customers who have opened an email in the last 6 months and have made a purchase during that time. /Cloud Kicks a décidé d’envoyer une offre exclusive aux clients qui ont ouvert un e-mail au cours des 6 derniers mois et qui ont effectué un achat pendant cette période. L’architecte
Solution Architect Maggie Quinn needs to complete this task by using a SQL query. Let’s follow along. / L’architecte de solution Maggie Quinn doit effectuer cette tâche à l’aide d’une requête SQL. Suivons.
Maggie starts by creating a data extension to store the information about the customers that meet this criteria. / Maggie commence par créer une extension de données pour stocker les informations sur les clients qui répondent à ces critères.
She then navigates to Automation Studio and follows these steps. /Elle accède ensuite à Automation Studio et suit ces étapes.
Click New Automation. /Cliquez sur Nouvelle automatisation.
Select a starting source from Schedule or File Drop. /Sélectionnez une source de départ dans Schedule ou File Drop.
Drag SQL Query to workflow and click Choose. (You can select an existing query or create a new query.) /Faites glisser la requête SQL vers le flux de travail et cliquez sur Choisir. (Vous pouvez sélectionner une requête existante ou créer une nouvelle requête.)
Select Create New Query Activity. /Sélectionnez Créer une nouvelle activité de requête.
Add query properties: name, external key, folder location, and description. /Ajoutez des propriétés de requête: nom, clé externe, emplacement du dossier et description.
Next, build your SQL query. /Ensuite, générez votre requête SQL.
Maggie uses this query. /Maggie utilise cette requête.
SELECT c.EmailAddress, c.CustomerID, c.First_Name
FROM Customers c
INNER JOIN Purchases p
ON c.CustomerID = p.CustomerID
WHERE [Purchase Date] > DateAdd(month, -6, GetDate()) AND [Open Date] > DateAdd(month, -6, GetDate())
Note /Remarque
Data extensions and field names with spaces in their names need to be enclosed in [ ] brackets. /Les extensions de données et les noms de champ avec des espaces dans leurs noms doivent être placés entre crochets []
Once completed, she follows the remaining steps. /Une fois terminée, elle suit les étapes restantes.
Click Validate Syntax./Cliquez sur Valider la syntaxe.
Choose the data extension created to store the query results. /Choisissez l’extension de données créée pour stocker les résultats de la requête.
Choose the data action the query activity performs: Append, Update, or Overwrite. /Choisissez l’action de données que l’activité de requête effectue: ajouter, mettre à jour ou remplacer.
Click Save. /Cliquez sur Enregistrer.
Once she is ready, Maggie can run the automation. /Une fois qu’elle est prête, Maggie peut exécuter l’automatisation.
Common SQL Queries /Requêtes SQL courantes
Parent Accounts /Comptes parents
You can query data extensions in the Shared Data Extension folder from the parent account by adding the prefix ent. to the data extension name in the query. /Vous pouvez interroger les extensions de données dans le dossier Shared Data Extension du compte parent en ajoutant le préfixe ent. au nom de l’extension de données dans la requête.
SELECT EmailAddress
FROM ent.MasterDataExtension
All the Data /Toutes les données
Sometimes you want everything. /Parfois, vous voulez tout.
SELECT *
FROM MasterDataExtension
Use SELECT * very carefully as this can cause slowness in the system as it is processing a large amount of data. /Utilisez SELECT * très soigneusement car cela peut entraîner une lenteur dans le système car il traite une grande quantité de données.
The larger the dataset, the greater time and effort the system has to use to obtain the data. Queries time-out after 30 minutes, and the more data to process, the more likely the query can time out. /Plus l’ensemble de données est volumineux, plus le système doit consacrer de temps et d’efforts pour obtenir les données. Le délai des requêtes expire après 30 minutes, et plus il y a de données à traiter, plus la requête peut expirer.
To help with this, it is more effective to provide the exact fields you are looking for in the query. /Pour vous aider, il est plus efficace de fournir les champs exacts que vous recherchez dans la requête
SELECT field1, field2, field3
FROM MasterDataExtension
SQL is something you can spend years mastering, but for now, you have the basics. /SQL est quelque chose que vous pouvez passer des années à maîtriser, mais pour l’instant, vous avez les bases.
We hope you—and your data—are feeling settled in your new home. And we can’t wait to see what you achieve with the power of your Marketing Cloud data! /Nous espérons que vous – et vos données – vous sentez installés dans votre nouvelle maison. Et nous avons hâte de voir ce que vous réaliserez avec la puissance de vos données Marketing Cloud!