0% found this document useful (0 votes)
360 views1 page

09 Salesforce Marketing Cloud Developer

Salesforce Marketing Cloud allows synchronization of data between Salesforce and Marketing Cloud including contact data, tracking data integration with emails, and injection of Salesforce record updates into customer journeys. The Marketing Cloud includes tools for contact data management and consolidation, automation of marketing activities, and file transfer capabilities. Security is managed through user permissions at both the Salesforce and Marketing Cloud level.

Uploaded by

izaias59
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
360 views1 page

09 Salesforce Marketing Cloud Developer

Salesforce Marketing Cloud allows synchronization of data between Salesforce and Marketing Cloud including contact data, tracking data integration with emails, and injection of Salesforce record updates into customer journeys. The Marketing Cloud includes tools for contact data management and consolidation, automation of marketing activities, and file transfer capabilities. Security is managed through user permissions at both the Salesforce and Marketing Cloud level.

Uploaded by

izaias59
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

SALESFORCE MARKETING CLOUD DEVELOPER - LOGICAL ARCHITECTURE - FOR INFORMATION PURPOSES ONLY - V1.

0 - MARK CANE - 2020-07-12

Salesforce Legend

Marketing Cloud Connect


Data Architecture - Modelling & Management
Objects - Standard or Custom Security
API
Marketing Cloud Connect supports : Scope :
— Non-scope by User = Salesforce data access
— Data Synchronisation
Object
permissions are via a single System User. Programming Languages
— Integrated Emails Sends — Scope by User = Salesforce data access
— Salesforce Data Events - Contact permissions are via the context user's own data
injection into Journey Builder journeys access permissions. Security
based on Salesforce record create/update.

Salesforce Marketing Cloud

Contact Builder Automation Studio


The Contact Builder app provides Data Management tools which support the consolidation and organisation of Contact data and relationships into a Single Customer View. The Automation Studio app executes multi-step marketing and data management activities on an immediate, triggered, or scheduled basis.

Data Extensions Contact Management Activities File Transfer Locations

Data Extension Types Contact Builder Concepts Automation Activity Types

Comprised of Contact — Data Synchronised from Salesforce via Assign Contact Attributes Complete list of Contacts. Send a specified Email Extract data to a delimited text file. A secure internal location for;
Attributes of a given data type. Marketing Cloud Connect.
Data to Data Sources to visualise
All Send Message. A reusable Email
Data Use a File Transfer activity to move
Safehouse
the output of decryption
Standard Synchronised — Select Objects, Fields, Records and the origin. A Subscriber is only added to All Contacts Send Definition is created. from the Ssfehouse to a final location. operations - or for extract
A DE is analogous to a refresh frequency. Source Contacts once something is sent to them. Contact Email Extract The Tracking Extract type outputs pre-encryption. Can be set as
relational Table or Object. — Use a Query or Filter Activity to segment. count is a key licensing factor. email send data. Also, Convert XML the default import location.
— Non-sendable. and Data Extension Extract types.

Retrieve data extension or


Populated by filter queries. Notes : A Contact is a person you send messages to Add or overwrite records in a Data Standard internal file import
data view information using FTP
Used to narrow down data for a Sendable Data Extensions require a Subscriber relationship.
Data Contact through any marketing channel.
Import Extension or List from an import file
SQL Transact-SQL, query
Import
location.
Filtered specific purpose or for complex Non-Sendable = reference data (weather, tax codes etc.)
Extension
in a specific location (Enhanced results can be written to a
query performance purposes. Record Contact Key = unique custom identifier that File FTP by default) with a given file Query
Data Extensions can be shared between Business Units by connects across multiple channels naming pattern. Import definitions
Data Extension. Directory
storing them in a shared data extension folder. Contact Id = unique system identifier specify the field mappings.

Data Retention Policy : (After X Days or on X Date)


Individual Records, All Records, All Records and Data Extensions
Populated by Random splits in Has a data model created by Differentiates between groups of people or Move files from external Filter contacts or subscribers Standard internal file export
FTP
Journey Builder.
Attribute linking Data Extensions data models that have unique attributes or
File locations (FTP sites) and/or to generate a new Data
Export
location.
Random (either directly to the Contact Population identifiers. E.g. Customers vs. Employees. manage file compression or Filter Extension via A Data Filter
Group or to other Data Extensions). Transfer encryption. created in Email Studio.
Cardinality; 1:1, 1:n, m:n
Directory

Single Customer View :


The Contact Builder concepts shown above are used to construct a cross-channel Single Customer View.
SSJS script that executes Automation has a Workflow of sequential activities An external FTP location;
Contact Delete Process : on one-time or scheduled that executes one-time or on a schedule: External Url, Port, username and
Security — By Contact ID or Contact Key or List. REST API. Script basis. Use for complex FTP password required.
Stages; { Initiation, Suppression, Deleted } workflows including Data
Data Encryption : — Default Suppression Period is 14 days, reduce to 0 days recommended for immediate deletion. Extension creation etc. A A A Site Ports 21/22 supported for
— Field Level Encryption (FLE) . Application layer encryption i.e. Contact Builder (only). — Contact Delete is a low priority operation. SFTP.
Applies to all Business Units. Data can’t be added or updated in Marketing Cloud. — Available from Parent Business Unit Only; Contact deleted from all Business Units.

— Transparent Data Encryption (TDE). Data at Rest Encryption - AES-256 encryption key.
Data is encrypted by SQL Server but presented to SFMC as plaintext. TDE encrypts the the underlying database storage files.

— Shield Platform Encryption.


Synchronised Data Sources (i.e. Marketing Cloud Connect) support (Saleforce) Shield Platform Encryption. Notes :
API Security
— For external FTP encrypted files 2 File Transfer activities are
File Transfer Data Encryption — Encryption and Decryption by configured public key (Symmetric or Asymmetric). required, 1 to move the file, 1 to decrypt the file.
Marketing Cloud SFTP Accounts — IP Whitelisting and SSH key based authentication. — Safehouse files are removed after 21 days.
REST API

/contact/v1 resources to create and update Contacts.


Programming Languages
/hub/v1/dataevents resources to insert data into Data Extensions.

AMPScript Server Side JavaScript - SSJS Example - initiate the Contact delete process by Contact Key.
POST /contacts/v1/contacts/actions/delete?type=keys API
Functions : Functions : Content-Type: application/json
— Contacts function library e.g. UpsertContact() — Core Library Authorization: Bearer YOUR_ACCESS_TOKEN
— Data Extensions function library; lookup, insert, Add DataExtensions, query records. { SOAP API
update and delete Data Extension rows. "ContactTypeId": 0, //0==Marketing Cloud//
e.g. Set @rows = — Platform Library "values": [ "TEST_317-531-5555", "TEST_317-531-5556"], Automation* Objects :
"DeleteOperationType": "ContactAndAttributes" — Create a new Automation with all Steps, Perform any Automation and check on Status.
LookupOrderedRows("Cars",4,"Horsepower Functions to lookup, insert, update and delete }
Desc","MPG",Field(@cardata,"MPG")) Data Extension rows. — Schedule, Update and Pause Automations.

Content Builder Email Studio


Content Builder is a cross-channel content management tool that enables consolidation of images, documents and other content types into a single location. The Email Studio app manages the build, send and track of email messages.

Content Blocks Programming Languages API Subscriber Management Programming Languages

Content Block Types Subscriber Concepts


AMPScript REST API AMPScript
Functions : Content Builder API : Audience Exclusion Script :
Text-baseed reusable Dynamic Content (Text, HTML — Date and time conversion and formatting. — Within an Send Definition. Records that return a 1 are excluded.
content. etc.) displays according to /asset/v1/content/assets Filter subscribers
— Data validation and formatting functions. Master list of Subscribers. — Use code snippets and limit complexity to protect performance.
by Profile and
Text Dynamic defined rules based on the — Salesforce Data Access via MCC. Resources to query, update and publish content
Preference Subscribers stored In data
subscriber attributes or data — Dynamic Links (Names and Alias). assets such as images or HTML. All ROWCOUNT(LOOKUPROWS("Exclusion_DATA_EXTENSION_NAME","EMAIL
Data Filter Attribute or custom extensions join the All
extension values. — Impression regions; BEGINIMPRESSIONREGION(). Subscribers Subscribers list when the _ADDR_FIELD_NAME", EMAILADDR))>0
/asset/v1/content/categories Measure.
first message is sent.
Order of Operations : Resources to manage content folders.
Preheader >> HTML Body >> Text Body >> Subject
JPEG, PNG, GIF image types. Enable subscribers to submit
Uploaded or externally Interactive embedded forms without
A Subscriber is a person you send
Image reference. Email leaving their inbox (e.g. product
messages to through the Email channel.
reviews, sales leads). Subscriber
Form Server Side JavaScript - SSJS Content Block SDK API
Record Subscriber Key = unique custom
Platform Functions Only (not Core) : — Custom blocks are externally hosted HTML pages that the identifier.
— Functions wrap AMPScript functions. editor renders in the widgets section. Subscriber Id = unique system identifier SOAP API
— No DOM access or external libraries. — Cross-document messages are used to interact with the
— JavaScript functions; arrays, math functions, the editor.
Paste or update HTML Messages (Email, SMS, EVAL function and try catch blocks. — Access the SDK from Github == blocksdk.js Operations:
content., Mobile App and Line) — Install as new Installed Package > Add Component > Create
Subset of Subscribers Lists segment
HTML are comprised of
B B Custom Content Block from a List. subscribers for
Retrieve
Templates and Content Update
Blocks. Dynamic
Group Filtered, Rule-based, List targeted email
Delete
Content Rules drive B Guide Template Language
Custom Blocks :
— Custom editing experience.
Constant Interval or communications.
Perform (asynchronous operations such as send email)
Random Group.
Dynamic Content. — Interactive or authenticated content. Schedule
Declarative syntax for dynamic, data driven messages.
Configure (create a Subscriber attribute)

Account* Objects :
— Create and manage Account parameters.
Interactions — Create and manage Account Users.

List and Subscriber Objects


— Create and manage Lists.
Manual one-time Email send. Create a single Data Extension of the — Create and manage Subscribers and List membership.
Journey Builder Admin User Message, Recipients, Send non-sendable type from the SendLog
Send
Journey Builder is a campaign planning tool that enables the design and automation of campaigns that guide B2C customers through their journey with a brand. Initiated Classification specified at template. DataExtension* Objects :
Send time. Log
Installed Packages Email Send Email interactions which use
— Create and manage Data Extensions.
— The DataExtensionObject object represents a row in a Data Extension.
Sendable Data Extensions must use
Custom Journey Builder the exact same attribute names as TiggeredSend* and EmailSend* Objects :
Activities API
Activity or Entry Source.
Journey the SendLog Data Extension. — Create and manage Send Definitions.
— Send email messages in response to Subscriber Action or event.
Journey Builder Activity Types
REST API
Builder Send definition created for
API or Subscriber action
Triggered based initiation.
Messaging activities include Segment customers into Journey Builder API : Send
email, SMS, LINE message, logical split paths according
Einstein Content Builder Custom
Message push notification, inbox to prebuilt Einstein Splits. AI. /interaction/v1/eventDefinitions Custom
message, in-app message, or Split Resources to create and manage Entry Events.
Content Block.
any other form of content Content
sent to Contacts. POST /interaction/v1/eventDefinitions
{ Block
"type": "Event",
"name": "New event definition via API",
"description": "",
"mode": "Production",
Pause the Journey flow until Sends Contacts down a Yes "eventDefinitionKey": "NeweventviaAPI", OAuth Connected App.
Mobile Studio The Mobile Studio app manages the build, send and track of mobile messages. Web Studio The Web Studio app manages publishing of Landing Pages, MobilePush pages and Microsites.
a certain Duration or static or No path based on whether Integration Type = Web App,
Enagement "dataExtensionId": "####-####-####-####",
API
Wait Date or attribute date value is
Split
they have opened an email, "dataExtensionName": "some data extension",
"sourceApplicationExtensionId": "####-####",
Integration
Public App or Server-to-Server.
reached. clicked a link in the email, or "filterDefinitionTemplate": "FilterDef", Client ID and Client Secret.
the email bounces. "iconUrl": "/events/images/customer.png", Mobile Studio Apps Web Studio Channels
"arguments": {"criteria": "null"},
"isVisibleInPicker": true,
"category": "Event"
}
Group Connect : Mobile Connect : Landing Page : Microsite :
/interaction/v1/events — Create and send mobile messages. — Create, send, receive, and track SMS and — Web page build with Content Builder. — Individual CloudPage landing pages
Update the Contact, or action Define up to 20 filter paths
Fire an Entry Event to initiate a Journey. Security — Supports LINE and Facebook Messenger apps. MMS text messages using templates. — Supports custom forms with AMPScript. related via a Sitemap.
Contact Sales or Service Cloud
actions such as Lead
Decision based on Journey or Contact
attributes.
— Send transactional messages and respond to
— Tokenised Sending — Send contact data too sensitive
/ Object Conversion, Task create or Split POST /interaction/v1/events
{ to store in Marketing Cloud. Use information from your
MobilePush :
— Create and Send Push Notifications to a custom
incoming messages. MobilePush page :
— Displayed when a geofence is crossed.
record update. "ContactKey": "ID601", own data systems and transmit it to the Marketing Cloud
"EventDefinitionKey":"Bank-AccountAccess", mobile app.
"Data": { only at send time via an API call..
"accountNumber":"123456", — SAML SSO - Federated Single Sign-On via the SAML
"patronName":"John Smith" } 2.0 protocol. Salesforce can be used as the IDP.
}
— Identity Verification - Whitelist IP at BU level.
Journey has a decision tree based on logical splits, waits and activities that executes per-
/interaction/v1/interactions Deny access or require 2-step verification when access API - REST API Programming Languages Programming Languages
Contact on a Schedule, following a Salesforce Data Event or via a REST API call.
Resources to create and manage Journeys. outside of whitelisted IP.
— Tenant Specific Endpoints (TSE) = API performance.
GroupConnect Chat Messaging API:
Host: https://SUBD.rest.marketingcloudapis.com — OAuth Flows /ott/v1/send AMPScript AMPScript SSJS
W S A W A A GET /interaction/v1/interactions/{id}?
versionNumber=2
Web or Public App = Authorisation Code Flow:
SMS Conversation Functions : Landing page functions execute in Core Functions :
Content-Type: application/json Redirect browser to login page. Extract auth code and MobileConnect API:
Authorization: Bearer YOUR_ACCESS_TOKEN use to request Access Token and Refresh Token. Use %%= real time and return an integer Init, Retrieve, Update, Remove
/sms/v1/messageContact/{id}/send CreateSmsConversation("12
Refresh Token on exipiry (grant type = refresh_token).b) specifying the number of rows (Account, Email, Data Extension,
A Server-to-Server = Client Credentials Flow: (MobilePush:
345",MOBILE_NUMBER,"KEYWO
RD","MOBILECONNECT")=%%
affected. INSERTDATA,UPDATEDATA, Send, TriggeredSend, Portfolio,
Request Access Token using Client Credentials plus the /push/v1/message | location etc. UPSERTDATA and DELETEDATA. ContentArea, HTTP - Get,Post)
Client ID and Secret. Repeat on expiry (20 mins).

Off Platform

Mobile Push SDK Embed Push notifications into native or hybrid mobile applications. Platform SDK Cross-functional framework around the SOAP and REST APIs

Programming Languages : Notes : Programming Languages : Notes :


iOS / Objective C — Community supported. Available on GitHub. C# SDK — Agnostic protocol interfaces and automated token
Android /Android Q Java SDK management.
Cordova Plugin Node SDK — Community supported. Available on GitHub.
ReactNative Module PHP SDK
Ruby SDK
Python SDK

You might also like