Skip to content

👉 Join our Discord community.

What Is an Attribute Group in Salesforce Marketing Cloud Engagement?
528 views

What Is an Attribute Group in Salesforce Marketing Cloud Engagement?

View favourites

An attribute group organizes related data extensions and defines how their records connect to a contact. You create these relationships in Contact Builder, using Data Designer. Journey Builder can then use the linked information as Contact Data in filters and decision splits.

Salesforce Marketing Cloud Engagement data designer in contact builder

How the data connects

An attribute group can contain data extensions linked directly to the contact record or to other data extensions. For example, you could connect customer details, preferences, and orders in this model:

Data extensionRecordsPrimary key
CustomersOne row per customerCustomerID
PreferencesUp to one row per customerCustomerID
OrdersMultiple rows per customerOrderID

Link the contact’s Contact Key to Customers.CustomerID, then connect Preferences and Orders through their CustomerID fields. Customers and Preferences have a one-to-one relationship; Customers and Orders have a one-to-many relationship.

Contact Key identifies the contact; a primary key identifies a row. In Orders, OrderID identifies each purchase, while CustomerID connects it to the customer. These data relationships do not clean inconsistent values or merge duplicate contacts.

Creating an attribute group

Prepare your data extensions and identify the fields you will use to connect them before creating the attribute group.

  1. Open Contact Builder → Data Designer.
  2. Select Create Attribute Group, enter a name, and save it.
  3. Link an existing data extension or create a new one.
  4. Connect its customer identifier to Contact Key.
  5. Add related data extensions, select the linking fields, and configure the appropriate relationships.

Check that the linking fields contain matching values and compatible data types. If Contact Key contains C10001, a table linked through an email address will not match that value.

A decision split can use linked Contact Data to check a customer’s current preferences, membership status, or purchases.

With a one-to-many relationship, be clear about which record should qualify. A condition such as “Order Amount greater than 100” can match any qualifying order associated with the customer. It does not automatically select their latest order.

If the journey relates to a specific purchase, use an attribute-to-attribute comparison between the Order ID in Journey Data and the Order ID in linked Contact Data.

SQL and email personalization

Attribute groups define the contact model. SQL queries still use the joins and conditions you write, and AMPscript lookups retrieve records using the data extension and matching fields supplied in the function.

Use SQL Query Activities to calculate values such as total spend or latest purchase date and save them into a table with one row per contact.

For email content, you can retrieve additional fields with AMPscript lookups. When several rows can match, define which record you need and handle cases where no record is found.

Oh hi there đź‘‹
I have a SSJS skill for you.

Sign up now to get an SSJS skill that can be used with your AI companion

We don’t spam! Read our privacy policy for more info.

Share With Others

The author
Marcel Szimonisz Platinum

Marcel Szimonisz

Marketing Automation Consultant

I specialize in solving marketing technology challenges, automating processes, and turning ideas into practical solutions with Salesforce Marketing Cloud and Adobe Campaign. Through MarTechNotes, I share technical guides and insights that make complex topics easier to understand

Latest badges
Weekend Regular Weekend Regular Profile Complete Profile Complete Simple Start Simple Start 5 Day Streak 5 Day Streak First Comment First Comment

Your email address will not be published. Required fields are marked *

Get exclusive tips, scripts and news

Choose your topics

We don’t spam! Read our privacy policy for more info.

Similar posts

Add to this article

Share your experience

Your contribution

Article history

What changed