As mentioned in other sections, folders don't just store files, they also contain important information about the data within the files and the preferences for how to onboard them. This section covers the process for using attributes to define the data within the files of a folder.
Attribute Setup Process
Within the attribute management section of a specific folder, you can view, add, delete, edit, and arrange attributes. All folders must have every single attribute defined explicitly and correctly in order to successfully onboard data into Salesforce Audience Studio in the desired format. The process for setting up attributes is as follows:
- Specify all attributes that exist in the file
- Ensure each attribute has the correct settings
- Data Type
- Additional Settings
- Ensure attributes are ordered exactly as they appear in the file
- Address any errors that exist
- Proceed to file management
Manage Attribute Navigation - Specific Organization >> Folders >> Specific Folder >> Update Folder
Manage Attributes - Specific Organization >> Folders >> Specific Folder >> Update Folder >> Attributes
Add Attribute - Specific Organization >> Folders >> Specific Folder >> Manage Attributes >> New Attribute
Attribute Data Types
The data type should be the first thing set when adding a new attribute as some settings are inherited directly from the data type. Accurately defined data types are extremely important for three reasons.
- Ensuring data is parsed correctly
- Ensuring quality match rates
For example, if you defined the gender attribute as a numeric data type, none of the data for that attribute would end up in Audience Studio because the DMZ would not expect to encounter text ("male") in the values for that attribute. As a result of this parsing error, the file would have to be reprocessed in order for the gender attribute to make it to Audience Studio.
Policies around what constitutes PII and/or sensitive data are always changing and vary by region, making it difficult to stay current with standards. Salesforce is extremely watchful of these changes and uses data types to flag attributes that should not be pushed to Audience Studio, or those which are non compliant and need to be purged from the DMZ. This use of data types helps keep everyone compliant in their use of the product.
Finally, data types are helpful in ensuring the best possible match rates. For example, there are data types specific to each component of an address which are used for postal onboarding. However, if a file has a postal address but it is defined as a string instead of using the address specific data types, it would not be used for postal matching, ultimately reducing match rates.
There are over 50 different data types, so they are organized by category to make it easier to navigate the list in the UI.
Data Type Name
Data Type Code
|Attributes||Additional State||additional_state||User / Transaction||No||Downcase|
|Attributes||Additional City||additional_city||User / Transaction||No||Downcase|
|Attributes||Age||age||User / Transaction||No||Downcase|
|Attributes||Age as Year of Birth||age_yob||User / Transaction||No||Downcase|
|Attributes||Constant Value||constant||User / Transaction||No||Downcase, value|
|Attributes||Date||date||User / Transaction||No||Downcase, Input Format, Field Parts|
|Attributes||Date of Birth As Age||dob_age||User / Transaction||No||Downcase|
|Attributes||Day of Month||day_of_month||User / Transaction||No||Downcase|
|Attributes||Day of Week||day_of_week||User / Transaction||No||Downcase|
|Attributes||Gender||gender||User / Transaction||Yes||Downcase|
|Attributes||Lower-case String||lowercase||User / Transaction||No||Downcase|
|Attributes||Month||month||User / Transaction||No||Downcase|
|Attributes||Numeric||numeric||User / Transaction||No||Downcase|
|Attributes||Price||price||User / Transaction||No||Downcase|
|Attributes||Range||range||User / Transaction||No||Downcase|
|Attributes||String||string||User / Transaction||No||Downcase|
|Attributes||True/False||boolean||User / Transaction||No||Downcase|
|Attributes||Upper-case String||uppercase||User / Transaction||No||Downcase|
|Attributes||Year||year||User / Transaction||No||Downcase|
|Client Match Keys||Customer Account Number||account_number||Match Key||No||N/A|
|Client Match Keys||Identifier||id||Match Key||No||N/A|
|Client Match Keys||Audience Studio User ID||kuid||Match Key||No||N/A|
|Client Match Keys||User ID||userid||Match Key||No||N/A|
|Email Match Keys||Email MD5||email_md5||Match Key||Yes||N/A|
|Email Match Keys||Email SHA1||email_sha1||Match Key||Yes||N/A|
|Email Match Keys||Email SHA256||email_sha256||Match Key||Yes||N/A|
|Email Match Keys||Email Unhashed||Match Key||Yes||N/A|
|Mobile Match Keys||Android Advertising ID||aaid||Match Key||Yes||Downcase|
|Mobile Match Keys||Apple IDFA||idfa||Match Key||Yes||Downcase|
|Mobile Match Keys||Device Identifier||device_id||Match Key||No||Downcase|
|Postal Match Keys||Address||address||Match Key||Yes||Downcase|
|Postal Match Keys||Address Line 1||address1||Match Key||Yes||Downcase|
|Postal Match Keys||Address Line 2||address2||Match Key||Yes||Downcase|
|Postal Match Keys||City||city||User / Transaction||Yes||Downcase|
|Postal Match Keys||Country||country||User / Transaction||Yes||Downcase|
|Postal Match Keys||Delivery Point Code||dpc||Match Key||Yes||Downcase|
|Postal Match Keys||Delivery Point ID||dpid||Match Key||Yes||Downcase|
|Postal Match Keys||First Name||first_name||Match Key||Yes||Downcase|
|Postal Match Keys||Full Nanme||full_name||Match Key||Yes||Downcase|
|Postal Match Keys||Last Name||last_name||Match Key||Yes||Downcase|
|Postal Match Keys||Phone MD5||phone_md5||Match Key||Yes||N/A|
|Postal Match Keys||Phone SHA1||phone_sha1||Match Key||Yes||N/A|
|Postal Match Keys||Phone SHA256||phone_sha256||Match Key||Yes||N/A|
|Postal Match Keys||Phone Unhashed||phone||Match Key||Yes||N/A|
|Postal Match Keys||Postal Code||postal_code||User / Transaction||Yes||Downcase|
|Postal Match Keys||State||state||User / Transaction||Yes||Downcase|
|Postal Match Keys||Zip+4||zip4_postal_code||User / Transaction||Yes||Downcase|
|Rejected Attributes||Credit Card||credit_card||Rejected Data||Yes||N/A|
|Rejected Attributes||Drivers License||drivers||Rejected Data||Yes||N/A|
|Rejected Attributes||Facebook Handle||Rejected Data||Yes||N/A|
|Rejected Attributes||IP Address||ip_address||Rejected Data||Yes||N/A|
|Rejected Attributes||Ignored||ignored||Rejected Data||Yes||N/A|
|Rejected Attributes||MAC Address||mac_address||Rejected Data||Yes||N/A|
|Rejected Attributes||Passport||passport||Rejected Data||Yes||N/A|
|Rejected Attributes||Skype Handle||skype||Rejected Data||Yes||N/A|
|Rejected Attributes||Social Handle||social||Rejected Data||No||N/A|
|Rejected Attributes||Social Security Number||ssn||Rejected Data||Yes||N/A|
|Rejected Attributes||Rejected Data||Yes||N/A|
|Transaction Fields||Transaction Amount||txamount||Transaction||No||Downcase|
|Transaction Fields||Transaction Date||txdate||Transaction||No||Downcase|
|Transaction Fields||Transaction Quantity||txquantity||Transaction||No||Downcase|
It is recommended that after attributes are named and files are being onboarded that they are not changed. While you can edit the attribute name after onboarding starts, it can result in messy outcomes. For example, let's say you onboard a file from "folder 1" that has an attribute called "sports lovers". The data will show up in Audience Studio with that name. Two weeks later you change the attribute name in the DMZ to "sports fanatics". All subsequent files will be onboarded into a new attribute in Audience Studio with the name "sports fanatics", but the original attribute ("sports lovers") will still exist and some of the users will be in the old attribute while all new ones will be in the new attribute.
Attribute profiles define to which part of Audience Studio the attribute should be sent or if it should be sent at all. There are four attribute profiles that exist within the DMZ.
Two of the profiles are automatically set based on the selected data type.
Match Key - The sole purpose of match keys is to help generate a match and nothing else. Attributes with this profile will never be sent to Audience Studio.
Rejected Data - Attributes with this profile will never be sent to Audience Studio, and in some cases will be deleted immediately from the DMZ.
Two of the profiles can be set by you based on where you want the data to show up in Audience Studio.
User Attribute - Attributes with this profile will show up as user attributes in Audience Studio.
Transaction Attribute - Attributes with this profile will show up as transaction attributes in Audience Studio. Some data types are specific to transactions and will automatically inherit this profile. Note, this profile is only made available to customers who have purchased transaction segments.
User & Transaction - A single field can have both user and transaction profile assignments. When this is the case, the same attribute will be put into both parts of Audience Studio.
Additional Attribute Settings
Some attribute data types have additional things that can be specified. The possible settings for each attribute are listed above in the attribute details section.
- Downcase - this should be used to convert all characters for every value in the attribute to lowercase. This might be useful for aesthetic purposes in the UI.
- Input Format - this allows you to define the way the date is structured in the file so that it is interpreted correctly.
- Field Parts - this allows you to specify which parts of the date you would like to create additional attributes for.
- Value - if your file only has a list of emails (or other match keys) that do not get ingested into Audience Studio, you can hard code a value for the attribute.
The order of attributes is extremely important. The ordering of the attributes in the DMZ UI must exactly match the order of the attributes as they exist in the columns of the file. Additionally, there should not be any skipped columns. If you have a column in your file that you would not like to have ingested into Audience Studio, you can do this by setting the data type to "ignored".
Special Instructions For Krux Format
If you are using the Krux format to onboard data, there are a couple of important amendments to the steps defined above.
- The attribute order is of no significance in the Krux format as long as all attributes are defined and properly configured.
- All attributes in the file must exactly match the names of the attributes in the folder settings.
- Don't forget to set the "Attribute Key" in the folder settings after you are finished updating the all the attribute data types.
Match Key Best Practices
There are numerous fields that can be used to create matches for a given user. However, there are some best practices that should be observed.
Email Match Keys:
The Krux identity solution works on SHA256 unsalted email address - this is the supported hashing method for email addresses in the native matching infrastructure within Audience Studio*, and SFMC integrations.* However, it is recommended that you upload files keyed against plain text email. This reduces the chances of errors in email hashing during file creation.
Postal Match Keys:
|First Name||Place first name here||Use this as opposed to the "Full Name" data type|
|Last Name||Place last name here||Use this as opposed to the "Full Name" data type|
|Address Line 1||Place the house number, direction, street name, street type, and the street post-direction.||Use this field as opposed to the "Address" data type with the full address|
|Address Line 2||Use this to identify the apartment/unit, or suite number.||Use this field as opposed to the "Address" data type with the full address|
|City||Use this to define the city associated with the address.||Use this field as opposed to the "Address" data type with the full address|
|Postal Code||Use this to define the 5 digit U.S. postal address. Please include all leading zeroes where applicable.||N/A|
|Phone Unhashed||Use this to define the 10 digit U.S. phone number. Do not include any extra characters outside of the number (dash, parentheses etc.).||N/A|
Client Match Keys:
- The value is being collected through the DTC code on page.
- The data type in the DMZ UI matches one of the Client Match Key data types.
- User ID
- Customer Account Number
- The name of the attribute as collected through DTC matches the attribute name in the DMZ UI EXACTLY (case sensitive).
Using Multiple Match Keys: