INTERVIEW QUESTIONS
1. What are the different types of data extensions?
Standard - Used to create a new data extension and add custom fields as needed
Filtered - Select an existing data extension and filter out the records by defining a criteria
Random - Select a percentage or number of subscribers from a source data extension
2. What is the difference between AMPscript and SSJS(Server-Side JavaScript)?
AMPscript is mainly used for Personalisation in Email/SMS/Push. It can better handle use cases where each subscriber needs to see unique content, as it's more optimised than SSJS.
​
SSJS is mainly used for Integrations. It provides better readability, flexibility and additional features (like arrays, objects, try/catch, etc.,) than AMPscript, when working with more complex use cases.
​
In general, most of the tasks can be accomplished using AMPscript. But it depends on the use cases, functions supported, and advantages of choosing one over the other. Both languages can work together as well.
3. Mention the different entry sources in Journey builder.
API Event, Audience, Cloudpages, Data Extension, Event, Google Analytics 360, In- App Message Event, Inbound Chat, Mobile App Event, Push Message Event, and Salesforce Data.
4. Explain the difference between Lookup Vs LookupRows Vs LookupOrderedRows?
Lookup - Retrieve a single record from a Data Extension
LookupRows - Retrieve set of records from a Data Extension. The maximum is 2000.
LookupOrderedRows - Retrieve more than 2000 records and sort them based on one or more fields. This might cause some performance issues with large volume.
5. What is the syntax for Synchonized objects Data Extension in SQL?
Considering the Contact Object as an example:
​
Querying at Parent Business Unit - Select Name from Contact_salesforce
Querying at Child Business Unit - Select Name from Ent.Contact_salesforce (if the data is synced at Parent unit)
6. What are Personalization strings?
It is a string-based identifier enclosed in a delimiter (%%), which can be included in messages or landing pages.
There are two types -
Attribute Strings - Derive the values from a field in a data extension or an attribute related to Contact or Subscriber.
System Strings - System-defined strings which display output based on the context of contact or subscriber.
Example - emailaddr, MOBILE_NUMBER, etc.
7. What is the difference between Goal criteria and Exit criteria?
Goal - Define the goals as per business needs to understand how your customers interact with the brand. It can also act as exit criteria, once the goal is reached.
Exit - If you want the contacts to exit the journey based on specific criteria.
8. What is the Purpose of using different Business units?
- Maintain Separate Branding (Based on Regions, Geography, etc.)
- When the Information is not to be shared across Business units
- Helps to keep the data organized
- Restricts data access to the users from other Business units
9. Explain the different data models in SFMC.
Lists
- Used when there are less than 500,000 records
- A limited set of attributes
- Lower data import speed
- Trigger Welcome email when the Subscriber is added and setup double opt-in option
Data Extensions
- Used when there are equal or greater than 500,000 records
- No limit on the attributes
- High data import speed
- Maintain relational/historical data
- Ability to use Publication lists to manage unsubscribes
10. What are the various options to handle unsubscribes when dealing with business units in SFMC?
Enterprise level - If unsubscribed, the subscribers also get unsubscribed from all the Child business units
Child level - Subscribers are only unsubscribed from the current child business unit
11. Write a Query to display all the 'unique opens for a specific email in last 30 days'.
SELECT j.JobID, j.EmailName, o.EventDate, s.EmailAddress, s.SubscriberKey
FROM _job j JOIN _open o on j.JobID = o.JobID
JOIN _subscribers s on o.SubscriberID = s.SubscriberID
WHERE o.IsUnique = 1 AND o.EventDate > dateadd(day,-30,getdate()) AND j.emailid = MY_EMAIL_ID
12. Mention the different types of Entry settings, splits, and waits in Journeys.
Entry settings
- No re-entry
- Re-entry at any time
- Re-entry only after exiting
​
Splits
- Decision split: define criteria to filter out the contacts
- Engagement split: Determine the next step based on Opens/Clicks
- Random split: Split the contacts randomly to determine which email version performs better
​
Waits
- Wait by Duration: Define the wait time, after which the contact will move to the next step
- Wait by Attribute: Evaluate the contacts based on the attribute data
- Wait until Date: Specify the date and time for the wait period to end
- Wait until Event: Setup an API event, log the data in a data extension, add filter criteria and maximum wait period
- Wait unit Chat Response: This is a WhatsApp Chat Messaging feature
- Wait until Push Engagement Event: Select the Push message and configure based on engagement
​
13. What is the difference between Journey builder and Automation studio?
Journey builder
- Multiple entry sources
- Create or Update the Sales/Service cloud object records
- Has additional communication channels than Automation Studio
- More options to interact with the Sales/Service cloud
- Option to build and use custom activities that integrate with external systems.
Automation Studio
- Involves Data Management activities, Script activities, and FTP capabilities
- Journeys can be triggered from the automation
- Ability to Import reports from Sales/Service Cloud
- Automation be triggered based on file drop in FTP, AWS, Google Cloud Storage, or Microsoft Azure
14. How will you set a Journey to send out the communications only between 9-5?
'Delivery window' option can be used to specify the time.
15. Mention the components of Send Classification.
Sender profile - Includes the 'From Name' & 'From Email'
Delivery Profile - Specify the IP address to use and physical mailing address mentioned in the email footer
CAN-SPAM classification
-
Commercial
- Includes promotions or advertisements to promote the products or services
- Must include an unsubscribe mechanism
-
Transactional
- Transactional in nature. Example - Password reset, Transaction receipts, etc.
- Optional to have an unsubscribe feature
16. What are the steps for the Contact Deletion process?
1. Initiation process : Select the contacts from your list / data extension to be deleted
2. Suppression Period : Contact information remains in your account, but you can’t view or access it
3. Final Deletion : Marketing Cloud removes deleted contact information from your account
This process can only be performed at the Parent business unit, not at the Child level.
The default suppression period was 14 days (now changed to 2 days), but can be modified as needed.
17. What are the different levels of unsubscribes?
List level - unsubscribe from a specific publication list
Master level - unsubscribe at the account level
Global level - unsubscribe from all the accounts
18. How to select the subscribers with the highest referral points using SQL (Note - There can be multiple subscribers in a Data Extension)
Use 'row number' function in SQL
19. What is IP Warming?
It is a process to build up (for at least 30 days) the reputation of your Marketing Cloud account, by sending the emails from your new IP starting with a small volume, and then increasing the volume gradually. This will help to improve the deliverability rates, build a good reputation with the ISPs, Improve the chances of Inbox placement, etc.,
20. What are Publication Lists?
It is a list of subscribers who have opted-in to receive the communications.
For example, Consider 3 lists - Brand A, B, and C.
If the subscriber opts-out of the Brand A, they can still receive the communication from B and C.
21. Mention different ways to segment the data.
Data Filters - Used to filter out the records from a Data Extension
SQL - Use the WHERE statement to specify the criteria and segment the data
22. What is the difference between Core and Platform library?
Core library:
- Mainly used for interactions with Email Studio via SOAP API call and to accomplish tasks on landing pages, where AMPscript does not provide appropriate functions.
- In order to utilize Core, you will need to call in the library via Platform.Load('Core', '1')
Platform library :
- Contains many functions similar to AMPscript, that can be used in messages and landing pages. It has better web, API, and application capabilities than AMPscript
- Included in the default declaration block and does not need to be called to utilize
23. How to include personalization in an email without using AMPscript?
Use the option 'Dynamic Content' under the Content Builder - where the content is displayed based on rules defined.
24. What is the difference between iif() and if, in AMPscript?
iif(condition,true,false) - Output can be stored in a variable
if - simple conditional statement
25. What are the steps to send the data from SFMC to FTP using automation studio?
- Step 1 - SQL (will store the data in a Data extension)
- Step 2 - Data Extract (select 'Data extension extract' option and specify the external key of Data extension from the above step)
- Step 3 - File Transfer (move the file from Safehouse to FTP)
26. What are Auto-suppression lists?
Auto-suppression lists are used to suppress the sends automatically for all the subscribers part of the list. It can include competitors' or subscribers' addresses with bad deliverability issues.
27. What are the different ways to Unsubscribe a subscriber?
It can be done using any of the below options:
- Manually select the subscriber or Import the list under 'All Subscribers'
- Use the LogUnsubEvent property in AMPscript
- Create the Subscriber object using AMPscript
- Feedback Loops
- Setup Reply mail management (RMM) to handle the requests
- List-Header Unsubscribe (link next to sender name in the email)
- Subscription Center
28. How to Create/update/retrieve records to/from the Service cloud?
Use AMPscript functions - CreateSalesforceObject, UpdateSingleSalesforceObject & RetrieveSalesforceObject
29. What is the difference between InsertDE and InsertData?
InsertData - Insert a row in a Data Extension and returns the number of rows inserted by the operation. This function only works in a landing page, microsite page or CloudPage, or in an SMS message in MobileConnect.
InsertDE - Insert the row in a Data Extension but no output is returned. This function only works in an email.
30. How will you capture the data in SFMC from a 3rd party form?
There are various options to achieve this :
- Some form handlers come with Salesforce connectors which requires you to enter the credentials, select the DE and map the fields. Other form handlers make a POST request to Marketing Cloud using POST URL, Client ID & Data extension external key.
- Embed a Cloudpage in an external website using iFrame
- Connect the form to Sales/Service Cloud and pull the data into SFMC using Marketing Cloud Connector
- Leverage APIs