My understanding of Marketing Cloud's pricing model is that it's based on three components:

  1. Platform subscription which varies by Edition; Basic, Pro, Corporate or Enterprise.
  2. Super Messages; a click-based model for emails, landing page impressions, cloud page impressions, PI web/email impressions, Push notifications, SMS and MMS messages, where the number of 'Super Messages' vary by message or impression type.
  3. Contacts the number of Contacts that exist in a Marketing Cloud account.

It was brought to my attention last week when I discovered that Contacts are not what I assumed they were. I considered a Contact in Marketing Cloud to be a Contact Record that exists in Marketing Cloud, however I've since learned that this is not the case.

This raises the question, what exactly is a 'Contact' in Marketing Cloud (from a billing perspective) and are there any other usage charges that Marketing Cloud customers need to be aware of?

1 Answer 1


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 "drinks" (messages and impressions), no longer applies.

Marketing Cloud's pricing model now has expanded to include additional charges based on usage, which include:

  1. Number of API calls made
  2. Number of times an Automation is run
  3. Number of Contacts (and a Contact is not what you think it is)
  4. Amount of storage in Data Extensions

Pre-defined allowances are included in these usage charges, which are outlined on page two of this 'How to select the right Marketing Cloud Edition' document. You need to be aware of your anticipated Marketing Cloud use, otherwise you could be in for a very nasty shock when you discover that you're being billed for additional usage charges that fall outside of the bundled usage amounts in your respective Edition.

Let's examine each usage fee in more detail.

1. Number of API calls made

Marketing Cloud now charges based on number of API calls made, this varies from 2m per annum for the Pro Edition, through to 200m per annum for Enterprise Edition. What's unclear is what is counted as a "use". Is a call to the Fuel Authentication Service counted as one use? Or is it only calls to SOAP or REST API endpoints? I'm really not sure.

Also, note that unlike Sales Cloud which enables you to monitor API calls made there is no such monitoring capability in Marketing Cloud (or App Center) at this time. This type of "hidden usage cost" is somewhat unhelpful as unless you log each API call made to Marketing Cloud, you won't be able to track if you are running over the included usage quota.

2. Number of times an Automation is run

Automations are measured via the number of times a single automation is run, regardless of the number of actual steps or activities within the automation. The quantity of included 'runs' varies from 15k for Pro Edition to 100k for Enterprise Edition. I assume this is a monthly count (rather than annual) but it's not clear from the current documentation. Again, this is a "hidden usage cost" as there's no easy method to track your Automation usage at this time.

A single automation running hourly equates to 720 "runs" each month, so your usage count can quickly add up, particularly if you are using Triggered Automations and running Automations by frequently dropping files on your Enhanced FTP account.

3. Number of Contacts

It's important that you understand what a Contact is, from a Marketing Cloud billing perspective. This page in the Contact Builder help documentation explains how Contacts are counted (which isn't an ideal home for it, considering that it's not limited to Contacts in Contact Builder). A Contact is considered as either:

  1. A Contact Record in Contact Builder's All Contacts list
  2. A subscriber in the All Subscribers list within the email app
  3. A Contact that exists through a root relationship or population in Contact Builder
  4. Any person who has been sent a message (email, SMS, Push, OTT)

That's pretty inclusive. The number of included Contacts varies from 15k for Pro edition to 500k for Enterprise Edition. Contacts from the above listed sources are added together to calculate the total number of Contacts used on the account and are de-duplicated by Contact Key value (but I'm not entirely sure how this actually works).

The documentation also states (under Populations) that Contacts also include "Contacts and Leads added via Synchronized Data Sources". I assume this refers to the Data Stream feature in Contact Builder, but it's unclear if they are only counted if they are part of a Population.

Either way, this inclusive definition of Contacts may have profound implications on how many Contacts you choose to store in Marketing Cloud.

Also be aware that any unsubscribed or held Contacts are also counted towards the quota allowance.

4. Amount of storage in Data Extensions

The included amount of storage in Data Extensions now varies between 1GB for Basic Edition to 100GB for Enterprise. I'm unsure how users are expected to monitor their Data Extension usage (perhaps exporting them as files will provide an indication on storage size). However, it's important to consider how much data you are storing in Marketing Cloud and for how long. You may want to consider applying Data Retention policies to non-persistent data and avoid duplicating Data Extension records where possible.


Marketing Cloud's revised usage pricing model is somewhat expected, as it aligns closer to Sales Cloud. However unlike Sales Cloud which is transparent in current usage, there's currently no easy way for customers to determine or monitor their usage.

When designing a solution in Marketing Cloud, you need to carefully consider the implications of API usage, how Contacts are stored, Automation and Data Extension usage. As without understanding these anticipated usage levels, you could be in for a nasty shock when you receive your next Salesforce bill. :-(

  • Hi Eliot. Do you know if this is still accurate? Do you have an official doc from SF about cost? Thanks Jun 25, 2018 at 14:04
  • I believe this is still correct. The only official documentation I have is this one which explains what's included in each edition, however until they provide the ability to report on DE storage usage, Automation usage and API usage, I don't see how they are able to enforce some of these 'inclusions'. Jun 27, 2018 at 23:12
  • Thanks Eliot for confirming. I know this document and point my clients to it quite often. Like you I'm frustrated by the opacity of SF around the org usage. Jun 28, 2018 at 7:44
  • 3
    @EliotHarper There is a way to estimate the size of a data extension programmatically. When you export a DE in Contact Builder, the client makes a REST call to GET /email/v1/dataextensions/<id>/filesize to determine whether the file can be downloaded in the browser or needs to be sent to the FTP. Not everything the UI does can be performed by packages, so I tested the call with one of my apps, and got back {"customObjectId": "some-uuid-not-this", "filesize": 322949440}, where filesize is the size of the DE as a CSV in bytes. It's not the table's database size but useful for estimation. Apr 25, 2019 at 18:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .