Skip to main content
45 votes
Accepted

What is the difference between Primary Key Contact ID, Contact Key, Subscriber Key and Subscriber ID?

Subscriber Key: An Email Studio attribute that is used as a unique identifier for contacts records. Has a one to one relationship with subcribers and is immutable (cannot be changed once set). This is ...
0xsegfault's user avatar
  • 6,603
33 votes
Accepted

Marketing Cloud API limits

Time-based Limits Day/Hour/Minute Limit There is no absolute limit per day or hour, however for the SOAP-API there is a recommendation to not use more than 2.000 SOAP-Calls per minute. We recommend a ...
Markus Dang - formerly Slabina's user avatar
28 votes
Accepted

Trying to automate contact deletion with SSJS

Updated March 2020 to accomodate for v2 authorisation and tenant specific endpoints. Please see the example of how I use this for bulk deletion. You should use the REST API, using the ...
Lukas Lunow's user avatar
  • 21.7k
26 votes

REST API for reading from a Data Extension

It's not documented save for a call to GET https://www.exacttargetapis.com/data/v1/rest, but GET https://www.exacttargetapis.com/data/v1/customobjectdata/key/[DE CustomerKey]/rowset/ will do exactly ...
Clayton VonDras's user avatar
22 votes
Accepted

REST API Methods in AMPScript or SSJS

GREAT NEWS!!! Firstly I want to thank SFMC Global Support, for the first time since they were Salesforce they were actually EXTREMELY helpful and quick. (Shout out to Jeff Ross) We found out that ...
Gortonington's user avatar
  • 30.7k
21 votes
Accepted

Attributes in _PushAddress and _PushTag Data Views

I was able to retrieve the following from the DataExtensionField retrieve request: _PushAddress: | Field Name | Data Type (Length) | Required (Y/N) | Data Default | | :- | :- ...
Daniel's user avatar
  • 1,287
20 votes
Accepted

What are the usage charges in Marketing Cloud's pricing model?

After further investigation, it appears that Marketing Cloud's pricing model has recently evolved and their previous "all you can eat" menu where the only additional charges was for "...
Eliot Harper's user avatar
  • 16.6k
20 votes
Accepted

Can I query to all contacts in contact builder

Here’s a workaround provided by Salesforce to query All contacts: 1) In MobileConnect or MobilePush, create a filtered mobile list that meets the condition: Contact Key is not null 2) Use a SQL ...
zuzannamj's user avatar
  • 14.4k
18 votes

Marketing Cloud REST API - GET method to Data Extensions

You'll have to use the SOAP API to retrieve DataExtensionObjects. Here's a sample envelope that illustrates the structure of the call: <?xml version="1.0" encoding="UTF-8"?> &...
Adam Spriggs's user avatar
  • 30.8k
18 votes

updating field to null with UpdateSingleSalesforceObject AMPscript function

The function does allow fieldsToNull, although not very well documented. The following code should work. UpdateSingleSalesforceObject('Contact', @personid, 'fieldsToNull', 'Email')
Steve J's user avatar
  • 331
18 votes
Accepted

Data extension values in the "Update Contact" activity in Journey Builder

I had the same question and finally came to a solution. To access the attributes of the source DE you should use the following syntax : {{Event."DEAudience-8f8575fe-2e87-d24b-3e7b-e82f4320ff24"."...
Arnaud Ceyrac's user avatar
16 votes
Accepted

Difference between AMPscript and SSJS

In everyday life, AMPScript is sufficient for most personalisation tasks, when it comes to emails and landing pages. SSJS offers a larger set of functions, which I mainly use for data integrations to ...
Lukas Lunow's user avatar
  • 21.7k
15 votes
Accepted

A profile center link is missing from this email

You need to add the required Personalization Strings to your email HTML as outlined in the error message: Subscription Center: %%subscription_center_url%% Profile Center: %%profile_center_url%% One-...
Adam Spriggs's user avatar
  • 30.8k
15 votes
Accepted

What is a Data Factory Utillity

They're used to load and transform data from the SQL Server based environment of the Email App to the Oracle/Netezza environment that underlies Discover and Audience Builder. Basically, don't touch. ...
Macca's user avatar
  • 8,256
14 votes

Using AMPscript with SSJS Activities

I've been able to successfully write script activities that reference AMPScript code. The trick is to place all your AMPSript code in a separate content area and call the content area from your ...
David Devoy's user avatar
  • 2,615
14 votes
Accepted

AMPscript / SSJS learning resources

It'd be great if the documentation was better. Unfortunately, there a very few resources outside of the SF ecosystem. IMO, you've found the best resource -- the marketing-cloud, ampscript and SSJS ...
Adam Spriggs's user avatar
  • 30.8k
14 votes

Get Preview of Email with AMPscript Using Rest API

This is an internal only route, that currently is NOT supported. It should not be used in production environments. The route has no ownership internally, and could stop working without notice.
Mark DeHaven's user avatar
14 votes

Making a REST API call from a Script Activity in Automation Studio

I've done a REST API call from a Script Activity. Here's an example: <script type="javascript" runat="server"> Platform.Load("core","1.1.5"); var DE = "Contacts_To_Delete"; var logDE = "...
Adam Spriggs's user avatar
  • 30.8k
14 votes
Accepted

Enable SSO for Salesforce Marketing Cloud

We don't have a very helpful documentation on enabling Marketing Cloud SSO. We do have some really useful information on the background of the process but once we start the implementation, there are ...
Krati Garg's user avatar
14 votes
Accepted

Subscriber Key related to Multiple Emails

In order to understand the multi-email address scenario per Subscriber Key, it is vital to understand the logic behind email address in a sendable data extension vs. email address in All Subscribers ...
Lukas Lunow's user avatar
  • 21.7k
13 votes

Using AMPscript in a Script Activity

Server-Side JavaScript gives us more flexibility. We can use Ampscript in Script Activities. I have used it. I am not claiming that this is the best solution, but we can do the same using some tricky ...
Kumar Akhil's user avatar
13 votes

Custom Profile/subscription center

For me, building a basic custom preference/subscription center that replicates the existing functionality generally takes 30-50 hours of development time, depending on how much front-end work needs to ...
Adam Spriggs's user avatar
  • 30.8k
12 votes

Exact Target: Can someone please tell me the difference between Contact Builder and Data Relationships in Exact Target?

Contact Builder (more exactly Data Designer) basically is doing the same thing as Data Relationships, but those connections are used in different places. From the GUI perspective, Data Designer was ...
Grzegorz Próchnicki's user avatar
12 votes
Accepted

Using AND OR in AmpScript IF THEN statement

Should be something like this: %%[ if (@PromoCode == "XXXX" OR @Tier == "XXX") AND @Price == "100" then ]%% %%[ endif ]%%
Adam Spriggs's user avatar
  • 30.8k
12 votes
Accepted

All Subscriber list and Business Units

All Subscribers is a view that is shared by all Business Units in your account. A Subscriber added to All Subscribers in Business Unit A will typically be visible in the version of the the view ...
Macca's user avatar
  • 8,256
12 votes
Accepted

Dynamic Sender Profile not working

The issue comes from the Sender Profile (SP) being processed prior to the email. This means that any variables set inside the email will not be rendered as they are set after the variable is called in ...
Gortonington's user avatar
  • 30.7k
12 votes
Accepted

What are "Super Messages" with respect to Marketing cloud?

Super Messages are just another way for Salesforce to charge you more money. When you sign over your first born with Salesforce for the Marketing Cloud platform, it will have the number of Super ...
Jackson Chen's user avatar
  • 4,725
11 votes
Accepted

Possible to Set Access-Control-Allow-Origin in an SFMC Landingpage?

I found out a Solution. Its possible to Set the Header using Server-Side JavaScript within the Landingpage. Here is my Header and its working fine now. <script runat=server> Platform.Load("...
Ronald Koch's user avatar
11 votes

Query Activity system error in Automation Studio

Typically if Query Activities fail, it's one of these 6 things: Primary key violation -- your query results in duplicate rows not allowed by the primary key Inserting a null value into a non-nullable ...
Adam Spriggs's user avatar
  • 30.8k
11 votes
Accepted

Contact Data Decision Split for synchronized Salesforce DE leads to wrong path

Debugging results (together with Salesforce): I debugged this issue together with Dave Hacker, who is Sr. Technical Product Manager, Data Products at Salesforce Marketing Cloud. Concluding our ...
Markus Dang - formerly Slabina's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible