---
schema_version: "1"
id: af46ef3869d2f8740c1a2f38c4484a0169fb894d61db3713ec225d4d2aeeb4d9
title: Limits for Marketing Cloud Personalization
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/mktg/264-0-0/mc_pers_limits.md
canonical_url: https://help.salesforce.com/s/articleView?id=mktg.mc_pers_limits.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 8e2d14f307db3220da9a246b34751ec354c392250f070bb88380963639703777
description: Learn about the limits and capabilities in Marketing Cloud Personalization.
products:
  - Marketing
  - Salesforce Personalization
release: "264"
---
# Limits for Marketing Cloud Personalization

Learn about the limits and capabilities in Marketing Cloud Personalization.

## Datasets Limit

A Personalization account has a maximum of 20 datasets.

## Data and Object Limits (All Editions)

Marketing Cloud Personalization specifies these limits for objects within a dataset.

Catalog Object Limits

Marketing Cloud Personalization imposes limits per dataset for catalog objects and attributes. For more information, see [Catalog Objects](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_catalog_object.htm&release=264.0.0&type=5 "Catalog objects and their relationships define the structure of your catalog. Personalization uses catalog objects to interpret and understand customer engagement and affinities. Examples of catalog objects include products, articles, blog posts, categories, brands, styles, and features. Personalization includes several built-in catalog objects, and you can create custom ones to meet your specific needs.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:28.57142857142857%">
          <col style="width:14.285714285714285%">
          <col style="width:57.14285714285714%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d50114e64">
              <p style="margin-bottom:0;">Number of </p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d50114e70">Limit </th>
            <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d50114e73">Description </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p style="margin-bottom:0;">Active items per catalog object type</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">2 million</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p>An active item is one that's eligible for recommendations.</p>
              <p style="margin-bottom:0;">Examples: 2 million products, 2 million brands, 2 million articles, or 2 million
                blog posts</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p style="margin-bottom:0;">Total items across all catalog object types</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">10 million</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p style="margin-bottom:0;">This limit is the total for all catalog objects.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p style="margin-bottom:0;">Custom catalog object types</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">25</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e73 ">
              <p>This limit is for user-created catalog object types. This limit doesn’t count the
                built-in catalog objects (Product, Blog, Article, Promotions, and Category).</p>
              <p style="margin-bottom:0;">Examples: brand, style, tags, keywords, author, color</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p>Attributes for a catalog object (built-in attributes + user-created
                attributes)</p>
              <p style="margin-bottom:0;">This limit includes the following built-in attributes, which differ slightly for
                some of the built-in catalog objects:</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">35</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <ul>
                <li>products</li>

              </ul>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">16</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">Product built-in attributes: (id, name, url,
              description, published, expiration, rating, numRatings, imageUrl, promotable, price,
              listPrice, priceDescription, currency, inventoryCount, margin)</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <ul>
                <li>blogs</li>

              </ul>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">10</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p style="margin-bottom:0;">Blog posts built-in attributes: (id, name, url, description, published,
                expiration, rating, numRatings, imageUrl, promotable)</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <ul>
                <li>articles</li>

              </ul>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">10</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p style="margin-bottom:0;">Article built-in attributes: (id, name, url, description, published, expiration,
                rating, numRatings, imageUrl, promotable)</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <ul>
                <li>custom catalog objects</li>

              </ul>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">10</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p style="margin-bottom:0;">User-created catalog object built-in attributes: (id, name, url, description,
                published, expiration, rating, numRatings, imageUrl, promotable)</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p style="margin-bottom:0;">Related catalog object values for a single item</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">50</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p>You can store up to 2 million of each catalog object type. When you create a
                catalog object relationship, you can store up to 50 values on the item.</p>
              <p style="margin-bottom:0;">Example: Suppose your primary catalog object is a hotel that has a related
                catalog object named Amenity (representing amenities such as free wifi, a pool, a
                gym, room service, or a bar). You can assign up to 50 amenity tags to that related
                catalog object. You can have more than 50 amenity values stored in Marketing Cloud
                Personalization (up to 2 million), but only 50 of those values can be stored
                against a single item.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e64 ">
              <p style="margin-bottom:0;">Category values for a single item</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e70 ">
              <p style="margin-bottom:0;">15</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e73 ">
              <p>Personalization automatically applies the category object as a related catalog
                object to the built-in objects (products, blogs, articles).</p>
              <p style="margin-bottom:0;">Example: A hierarchy (such as Men’s|Clothing|Tops|Shirts) is a single category
                value.</p>
            </td>

          </tr>
        </tbody>
      </table>

Promotion and Asset Limits

Marketing Cloud Personalization specifies limits per dataset for promotions, segments, and assets. For more information, see [Campaign Promotions](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_promotion.htm&release=264.0.0&type=5 "Offer your customers special deals or advertise specific products with campaign promotions in Marketing Cloud Personalization. A promotion is an image that encourages customers to click through for more details. You can deploy promotion images on a web page or in an email, including call-to-action messages or incentives to engage customers and achieve specific business goals. You can also use promotions with Einstein Decisions for rule-based decisions and machine learning to target customers in multiple channels.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:28.57142857142857%">
          <col style="width:14.285714285714285%">
          <col style="width:57.14285714285714%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e330">Number of </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e333">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e336">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Active promotions</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">10,000</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">An active promotion is one that's eligible for a campaign to return.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">Promotions returned for review and ranking</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">50</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e336 ">If a user is eligible for more than 50 promotions,
              Personalization selects a random set of 50 eligible promotions to return.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">User attribute match criteria</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">5</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Segment inclusion</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">10</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Segment exclusion</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">10</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Attributes for a promotion</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">35</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">Promotion built-in attributes: 10. You can add up to 25 user-created
                attributes.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Related catalog objects</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">20</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Related catalog object values for a single item</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">50</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Assets for a promotion</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">10</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e336 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e330 ">
              <p style="margin-bottom:0;">Assets assigned to a single content zone or tag</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e333 ">
              <p style="margin-bottom:0;">1,000</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e336 ">
              <p>Applies across all promotions that share the content zone or tag.</p>
              <p>Example: If you have a content zone or tag called "Winter Savings," then you can
                have up to 1,000 assets across all promotions that share the “Winter Savings”
                content zone or tag.</p>
              <p style="margin-bottom:0;">If you have over 1,000 assets that share a content zone or tag, Personalization
                selects a random set of 1,000 for decisioning purposes.</p>
            </td>

          </tr>
        </tbody>
      </table>

User Attribute Limits

Marketing Cloud Personalization has a limit of 100 user attributes per dataset.

User Profile Object and Account Profile Attribute Limits

Marketing Cloud Personalization imposes limits per dataset for user profile objects and account profile attributes. For more information, see [User Profile Objects](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_user_profile_object.htm&release=264.0.0&type=5 "Gain a deeper understanding of your users by creating user profile objects.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:28.57142857142857%">
          <col style="width:14.285714285714285%">
          <col style="width:57.14285714285714%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e588">Number of</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e591">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e594">Description</th>
          </tr>
        </thead>
        <tbody>

          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">User profile object types</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">10</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">
              <p>Disabled user profile objects count toward this limit. The same is true for
                catalog objects.</p>
              <p style="margin-bottom:0;">Examples: Lease, machine registration, mortgage</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Attributes for a user profile object</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">10</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: If your user profile object is a mortgage,
              its attributes can include customer-specific information, such as start date, end
              date, and APR.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Related catalog objects for a user profile
              object</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">5</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: If your user profile object is a lease for a
              vehicle, you can assign it related catalog objects, such as make, model, and
              year.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Values per related catalog object for a user profile
              object</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">5</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: If your user profile object is a credit card
              and you assign it a related catalog object of rewards, associated values can include
              cash back, travel rewards, and no ATM fees.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">User profile objects per profile object type per
              user</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">100</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: Suppose you’ve configured three profile
              objects: Lease, Ownership, and Service Case. Each user profile can have up to 100
              objects of each type: up to 100 Lease objects, up to 100 Ownership objects, and up
              to 100 Service Case objects.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Account profile attributes</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">100</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: Account name, Account ID, Account domain,
              Employee count. Firmographic data that gives you a more in-depth profile of each
              account.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Maximum distinct actions per profile per day</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">100</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">
              <p>Personalization tracks the number of distinct actions
                that a user takes on a website. For example, suppose a user visits the homepage 20
                times, views the Product Detail Page 11 times, updates their billing information one
                time, and checks out twice. In this example, Personalization tracks four distinct
                actions for that user. The action limit applies to the number of distinct actions
                per user, not to the number of times a user performed a particular action. </p>
              <p>If the
                user exceeds the limit of distinct actions (say, 101 distinct actions over a
                24-hour period), then Personalization truncates one of the distinct actions it’s
                tracking to keep the total within the limit. Personalization drops the action with
                the fewest occurrences. For example, the user updated their billing information
                only once. For an individual user, dropping a distinct action can affect segment
                membership.</p>
              <p style="margin-bottom:0;">For more information on actions, see <a href="https://developer.salesforce.com/docs/marketing/personalization/guide/item-actions.html" target="_blank">Item Actions and Actions</a> in the developer
                documentation.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Maximum distinct actions per profile, all
              time</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">1,000</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">Example: If a user exceeds 1,000 distinct actions,
              Personalization truncates one of the actions it’s tracking to keep the total within
              the limit. For more information, see the example (in the previous row) for the
              maximum distinct actions per profile per day.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e588 ">Maximum line items in a cart</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e591 ">100</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e594 ">The total number of line items stored in a cart for a
              single user.</td>

          </tr>
        </tbody>
      </table>

Identity Management

Marketing Cloud Personalization imposes limits for identity types. For more information, see [Identity Types and Attributes](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_identity_type_attributes.htm&release=264.0.0&type=5 "Personalization’s identity system uses deterministic matching to create a Unified Customer Profile for each of your customers. Specific identifiers, called identity types, determine how to process web events, API events, and channel events to identify users from various sources. Personalization includes several built-in identity types, such as email address and customer ID. If the built-in identity types don’t meet the needs of your organization, you can create additional identity types.").

  
| Number of | Limit | Description |
| --- | --- | --- |
| Additional identity types | 3 | If the built-in identity types are insufficient, you can create a maximum of 3 additional identity types. |

Mobile App Limits

Marketing Cloud Personalization limits the number of mobile apps per dataset.

  
| Number of | Limit | Description |
| --- | --- | --- |
| Mobile apps per dataset | 18 | Each dataset supports a built-in default website plus up to 18 mobile apps. Deleted apps still count toward the limit, so deleting an app doesn't free its slot. When you reach the limit, create a new dataset. |

## Integrations Limits

There are limits on ETL integrations, the integration with Salesforce CRM, and the automated data sent to Personalization through Flows. For more information, see [Integrate with Other Products](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_integration.htm&release=264.0.0&type=5 "Exchange data between Marketing Cloud Personalization and other systems, including other Salesforce products.").

ETL Integrations

There are limits to some attributes and associations per item. Exceeding these limits causes a record to fail.

 
| Number of | Limit |
| --- | --- |
| Line items per order | 1,000 |
| User attributes per user feed | 50 |
| Attributes per catalog object type | 35 |

There’s no enforced file-size limit, but Salesforce recommends keeping files under 5 GB.

Individual customer ingestion speeds can vary based on a number of factors, including:

- Number of users in the dataset
- Time of day when an ETL job is started (other ETLs are running at the same time)
- Number of user attributes in the feed and size of attribute values (for example, the length of strings)
- Size of files being run (number of attributes in the file)
- Size of user profile documents, including visit history, number of attributes, attribute change history, and daily stats.

Customers can export up to 10 million users per day per dataset. For more information, see [Marketing Cloud Personalization Editions](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_editions.htm&release=264.0.0&type=5 "Marketing Cloud Personalization comes in two editions: Growth and Premium.").

Integrate Personalization with Salesforce CRM

For more information, see [Integrate Marketing Cloud Personalization with Salesforce CRM](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_salesforce_crm.htm&release=264.0.0&type=5 "Share data between Marketing Cloud Personalization and Salesforce CRM. Send Personalization user and visitor information to Salesforce CRM. Receive CRM data associated with text fields, dropdown menus, numeric values, or segments.").

  
| Number of | Limit | Description |
| --- | --- | --- |
| Salesforce CRM pull limit of records | 4,500,000 | Limit per job or manual execution. |
| Salesforce CRM push limit of records | 750,000 | Limit per job or manual execution. |

Automate Data Sent for Personalization Using Flows

For more information, see [Automate Data Sent for Personalization Using Flows](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_salesforce_sales_service_cloud_mgd_pkg_automate_data_w_flows.htm&release=264.0.0&type=5 "Automatically send data that is specific to a Named Individual Profile from Sales or Service Cloud to Personalization.").

 
| Number of | Limit |
| --- | --- |
| Maximum number of records that the Personalization Apex Action can process | 100 |

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-mktg-mc_personalization-264-0-0-production-enus/16bf1f60-f44c-4260-a56e-f052cfe515a3/images/icon_note.png)

Note Apex Execution Governors and Limits restricts the total number of callouts (HTTP requests or web services calls) in a transaction to 100. You can increase the batch size from the default of 25 to 100 with the removal of runtime validation for datasets, attributes, and profile objects. For more information, see [Execution Governors and Limits](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm).

## File Retention Limits

Files in all directories are automatically deleted after their retention period expires.

 
| File Type | Retention Period |
| --- | --- |
| SFTP files | 60 days |
| Data 360 files | 30 days |

## Segment Management Limits

Marketing Cloud Personalization provides the limits associated with segment membership. For more information, see [Define Segments for Marketing Cloud Personalization](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_segment.htm&release=264.0.0&type=5 "Audiences are the specific individuals, referred to as users, or accounts, such as companies and organizations, that qualify to be members of a segment. You can create segments to group audiences according to a set of criteria that you define.").

 
| Number of | Limit |
| --- | --- |
| Manual segments per dataset | 1,000 |
| Enabled rule-based segments per dataset | 500 |
| Members per segment to qualify for daily email reports | 10,000 |

## Event Limits

Marketing Cloud Personalization imposes a limit on the total rate of event traffic across an entire Personalization account. This limit is in addition to limits stated in the Channels and Campaigns Limits section and applies to aggregate activity across all channels and users.

An event is a description of a single interaction by a single user at a point in time. It's delivered in an HTTP request sent to any real-time event processing endpoint. Examples of interactions that events can describe include page views, campaign impressions, clicks, purchases, and adding items to carts.

 
| Number of | Limit |
| --- | --- |
| Events per Personalization account per minute | 400,000 |

## Channels and Campaigns Limits

Marketing Cloud Personalization provides limits specific to Web Campaigns, Mobile Campaigns, and Triggered Campaigns. For more information, see [Channels and Campaigns](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_channel_campaign.htm&release=264.0.0&type=5 "In Personalization, channels are the various digital touch points you use to interact and engage with your customers and leads. Campaigns are the heart of providing personalized experiences within each of those channels. Depending on your Marketing Cloud Personalization license, you have access to develop campaigns for channels such as web, email, mobile, and third-party integrations.").

Web Campaigns

You can create up to 10,000 web campaigns per dataset.

The Web SDK automatically blocks events if:

- More than 10 events have been sent for the same user in the last 5 seconds, or
- More than 5 events with the same interaction name (Action) have been sent for the user in the last 2 seconds.

In addition to the above limits, the Web SDK enforces these limits for ping, error, and campaign statistics events.

- Ping events are limited to 10 events sent every 5 seconds.
- Error events are limited to 10 events sent every 5 seconds.
- Campaign statistics events are limited to 10 events sent every 5 seconds or 5 events with the same experience ID sent every 2 seconds.

Mobile Campaigns

The Personalization Mobile SDK supports up to 50 events per second. Up to 1,000 events can be queued when:

- The device isn’t connected to the internet, or
- The Mobile SDK is waiting for a response to the previous event.

Triggered Campaigns

Salesforce limits the number of triggers based on your contracted number of named individual profiles. Each named individual profile gets four triggers per month, calculated as an hourly rate. For example, using the base allotment of 100,000 named individual profiles, the per-profile rate is approximately 555 triggers per hour:

```
(Named individual profiles × 4) / 30 days / 24 hours = 555 triggers/hour
```

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-mktg-mc_personalization-264-0-0-production-enus/16bf1f60-f44c-4260-a56e-f052cfe515a3/images/icon_important.png)

Important Exceeding this rate delays messages. If the rate stays high for multiple hours, messages can drop.

When configuring a triggered campaign template, keep in mind that strings can’t exceed 4,096 characters.

Survey Limits

Marketing Cloud Personalization has limits for survey attributes. You can have up to 10 total survey attributes per dataset. For more information, see [Use Surveys in Web Campaigns](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_survey.htm&release=264.0.0&type=5 "Use surveys to design, test, and deploy questions to your visitors and customers to gather feedback in web campaigns.").

Open Time Email Campaign Limits

For more information, see [Open Time Email Campaigns](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_email_campaign.htm&release=264.0.0&type=5 "Use open time email campaigns to deliver personalized content and product recommendations each time a recipient opens an email. Using existing email campaigns that you send using your mail marketing service, Open Time Email campaigns deliver real-time personalized content to each member of your subscriber list.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1298">Number of</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1301">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1304">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e1298 ">Item templates that can be published</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e1301 ">16</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:center;vertical-align:top;" headers="d50114e1304 ">
              <p style="margin-bottom:0;">—</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e1298 ">Item template sync error rate per job</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e1301 ">10%</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d50114e1304 ">If the error rate for an image generation job exceeds 10%, the item template
              can’t be published.</td>

          </tr>
        </tbody>
      </table>

Third-party Campaigns

You can have a maximum of 900 third-party campaigns. For more information, see [About Integrating with Third-Party Solutions](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_third_party_integration_about.htm&release=264.0.0&type=5 "Marketing Cloud Personalization integrates with a variety of third-party solutions (external to Salesforce). Integration options include data management platforms, email service providers, third-party campaign detection products, analytics products, content management systems, social media, and tag managers.").

## Machine Learning Limits

Marketing Cloud Personalization provides limits associated with Einstein Decisions and Einstein Recipes. For more information, see [AI-Powered Personalization](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_machine_learning.htm&release=264.0.0&type=5 "Marketing Cloud Personalization uses advanced machine learning algorithms to capture a deep understanding of your business and your users. Einstein Recipes and Einstein Decisions use those algorithms to present personalized recommendations and offer the most relevant experiences to your users in real time.").

Einstein Decisions Limits

Marketing Cloud Personalization has limits for the various Einstein Decisions features. For more information, see [Einstein Decisions](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_einstein_decision.htm&release=264.0.0&type=5 "When a user views a promotion on your website, Marketing Cloud Personalization captures the user's context—including whether they’re a returning visitor, the device they’re using, and other information that provides insight into that user. Einstein Decisions, Personalization’s machine learning approach for next-best-offer decisioning, uses that context to predict the value of showing a specific offer to a particular user.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:28.57142857142857%">
          <col style="width:14.285714285714285%">
          <col style="width:57.14285714285714%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1394">Number of</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1397">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1400">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1394 ">
              <p style="margin-bottom:0;">Features</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1397 ">
              <p style="margin-bottom:0;">200</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1400 ">You can configure up to 200 features on the feature
              engineering page.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1394 ">
              <p style="margin-bottom:0;">Offers for promotion and ranking (real-time offers)</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1397 ">
              <p style="margin-bottom:0;">50</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1400 ">Personalization limits Einstein Decisions to
              evaluating up to 50 offers for its promotion analysis and ranking. If a user is
              eligible for more than 50 offers, Personalization selects a randomized set of the
              eligible offers for analysis.</td>

          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1394 ">Promotions in a Campaign Response</td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1397 ">12</td>

            <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1400 ">A campaign using Einstein Decisions can return up to
              12 promotions in a response.</td>

          </tr>
        </tbody>
      </table>

Einstein Recipes Limits

Marketing Cloud Personalization has limits for the various Einstein Recipes features. For more information, see [Einstein Recipes](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_einstein_recipe.htm&release=264.0.0&type=5 "Einstein Recipes are Personalization's machine learning algorithms. With Einstein Recipes, you can create configurable algorithmic strategies to present each customer with customized product and content recommendations throughout your various channels. You can use Einstein Recipes to support specific scenarios, such as cross-sells, content promotions, and trending products.").

- Test groups can contain up to 20 customers.
- You can have up to 15 test groups, including the sample test group.
- Each dataset can have up to 500 recipes.

## Reports and Analytics Limits

Marketing Cloud Personalization provides limits associated with Actions Reports and Data Warehouse. For more information, see [Marketing Cloud Personalization Reports and Analytics](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_report_analytics.htm&release=264.0.0&type=5 "After personalizing your site, use Personalization reports to determine what’s working and where to make improvements.").

Actions Report

Marketing Cloud Personalization supports a few thousand unique actions per dataset. More than that can cause problems across the Personalization platform.

Capture an action only if you need it for personalization and targeting. Personalization isn’t an analytical store, so don’t push every action into Personalization from a tool like Google Analytics. Use the sitemap as a filter. It’s where you decide which actions are worth ingesting.

Data Warehouse Limits

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-mktg-mc_personalization-264-0-0-production-enus/16bf1f60-f44c-4260-a56e-f052cfe515a3/images/icon_note.png)

Note The Data Warehouse is available only for customers who have already purchased the Marketing Cloud Personalization - Data Warehouse add-on product.

Marketing Cloud Personalization Data Warehouse supports these limits:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:66.66666666666666%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1520">Number of</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d50114e1523">Limit</th>

          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1520 ">
              <p style="margin-bottom:0;">Named users</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1523 ">
              <p style="margin-bottom:0;">6</p>
            </td>


          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1520 ">
              <p style="margin-bottom:0;">Datasets</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1523 ">
              <p style="margin-bottom:0;">6</p>
            </td>


          </tr>
          <tr class="">
            <td data-label="Number of" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1520 ">
              <p style="margin-bottom:0;">Segments</p>
            </td>

            <td data-label="Limit" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d50114e1523 ">
              <p style="margin-bottom:0;">10</p>
            </td>


          </tr>
        </tbody>
      </table>

Data Warehouse targets a 24-hour window from the time of initial receipt to make the data available. Nightly jobs often complete by 6 PM UTC. Data Warehouse job processing and completion times can vary.

For more information, see [Personalization Data Warehouse](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_data_warehouse.htm&release=264.0.0&type=5 "Marketing Cloud Personalization tracks and measures engagement—at the individual and account levels—across your company’s channels. The Data Warehouse is a repository of personalization data that is optimized for analysis. Business analysts can use their preferred business intelligence (BI) tool to access the Data Warehouse and run queries to transform, report on, analyze, and visualize your Marketing Cloud Personalization data.").

#### See Also

- [Marketing Cloud Personalization Editions](https://help.salesforce.com/s/articleView?id=mktg.mc_pers_editions.htm&release=264.0.0&type=5 "Marketing Cloud Personalization comes in two editions: Growth and Premium.")