INTERVIEW QUESTIONS

1. What are the different types of data extensions?

Standard -  Used to create a new data extension and add include the 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. It is easy to learn and can better handle use cases where each subscriber needs to see unique content than SSJS.

SSJS is mainly used for Integrations and includes additional features (arrays, array functions and JSON parsing) that don't exist in AMPscript. 

In general, most of the tasks can be performed using AMPscript. But it depends on the use cases, functions supported, and advantages of choosing one over the other.

3. Mention the different entry sources in Journey builder.

Data Extension, Salesforce Data, Cloudpages, Event, API Event, Salesforce Audience Studio, Google Analytics 360, and MobileConnect Audience.

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.

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 the requirements 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

- Require lower data import speed 

- Setup Welcome email and double opt-in options, once the Subscriber is added
     

Data Extensions -

- Used when there are equal or greater than 500,000 records,

- No limit on the attributes

- Require high 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 'emails opened 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(d,-30,getdate())

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 that is configured

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

- Einstein-related features 

- Has additional communication channels than Automation Studio

- More options to interact with the Sales/Service cloud


Automation

- Involves Data management activities, SSJS, and FTP capabilities

- Journey can be included as one of the steps in a automation

- Ability to Import reports from Sales/Service Cloud

- Trigger based on file drop in FTP, AWS, or Azure Blob (Google Cloud is not currently supported)

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, physical mailing address mentioned at the bottom of an email
 

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?

Initiate process -> Suppression Period -> Deletion
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 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, then 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 is mainly used for interactions with the Email Studio via SOAP API call and to accomplish tasks on landing pages, where AMPscript does not provide appropriate functions.


Platform functions are similar to AMPscript, that can be used in messages and for interaction with webpages, API, and other applications.

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?

  • SQL (will store the data in a Data extension)

  • Data Extract (select 'Data extension extract' option and specify the external key from above step)

  • File Transfer (move the file from Safehouse to FTP)

26. What are Auto-suppression lists?

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 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 the record into a data extension and Output is stored in a variable


InsertDE - Insert the record but does not result in any output.

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