Customer Attributes

[UPDATE 21/10/2018] The Profiles & Audiences core service has been renamed as People core service. Everything else stays the same.

When the Adobe Marketing Cloud was rolled out, it included some new features, which were not part of any individual solutions. These features were called Core Services. One of these features was Customer Attributes, part of the Profiles & Audiences core service. If you do not have an AAM license, it can be very useful in a few use cases. Let’s see how to set Customer Attributes up.


As you probably can imagine, the first pre-requisite is to have the MCID deployed in your website. As I previously described, you also need to capture the CRM ID. And, obviously, you need a database with information about your customers, which you will want to use in the Adobe Experience Cloud.

Setting up Customer Attributes

You first need to go to Profiles & Audiences and select Customer Attributes.

Menu Customer Attributes

After you click on “+ New”, the wizard takes you through the configuration process:

  • customer attributes configurationName. Any text will do, but I strongly suggest you follow a naming convention.
  • Description. Long description of this customer attribute.
  • Alias ID. This parameter must be one single string, with just ASCII lower characters and no spaces. It can be any string not used before. Once you have decided which one to choose, send it to your web and app developer. This is the value to be used in the key for visitor.setCustomerIDs() . Review my post on capturing the CRM ID to see how to do it.

You now need a sample file with the contents of your customer attributes, which must be in CSV format. It does not have to contain your full customer base, just a few to start the engine. You just need to drag and drop it in the “File Upload” section and wait a few seconds.

You can now click on “Validate Schema” to check whether the data has been correctly processed. You can change the details, but, in general, it is not necessary.

customer attributes validate schema

I recommend that you click on “Save” by now and return to the same screen by clicking on the link on the list page. You should now see a graph with the last file upload statistics:

customer attribute statistics

Note: the “failed” attempt was due to the wrong file extension. It has to be .csv.

As you can see, it has already processed the file and shows the 2 lines of it.

Then you need to add the subscriptions. Only two options are available at the time of writing:

  • Adobe Analytics. You will need to select the report suites you want this attributes to show and which attributes form those you have uploaded.
  • Adobe Target. Just select the attributes you are interested in.

Finally, you must activate it and save it.


You might be wondering how to update the values automatically. You probably have thousands or millions of customers and their attributes change every day. All I have shown so far is how to manually upload a file. For automation, you need to create an SFTP account following these steps:

customer attributes sftp

On the next page, you will also get the instructions on how to upload the files. Do not forget to upload a .fin file.

Customer Attributes for Adobe Analytics

So, you have your Customer Attributes configured. Now what?

The first use case is with Adobe Analytics. You can use this feature to further analyse your known customers. In the good old days, the typical solution was to capture the CRM ID in an eVar or a prop when a user logged in. Then, you would create a classification of this variable and upload the corresponding files. This solution had a couple of issues:

  • Only the first 500,000 customers every month would be available in Reports & Analytics. If your customer base is much higher than this number, you would get a lot of “low traffic” values. The only solution was to get a DWH report, which could take a few hours.
  • An eVar or a prop had to be used. When there were only 50 or 75 of these variables, it was not that uncommon to reach the limit.

Using Customer Attributes lifts these two limitations: you can now report on all CRM IDs and you do not need any custom variables. However, a new limitation is added: only a certain number of attributes are available, depending on your license. At the moment of writing, 3 for Analytics Standard and 200 for Analytics Premium.

When you enable Customer Attributes, you get a new menu entry under “Visitor Profile”:

customer attributes adobe analytics

These variables behave very much like an eVar, which can also be used in sub-relations. You just need to remember that only the last value prevails in the reports. If you upload a new file, it will overwrite all previous values.

Customer Attributes for Adobe Target

In the case of Target, the typical use case in Target is personalisation of the website for known customers. Target had its own solution, which was very specific to it and did not integrate with other Marketing Cloud solutions. It is not recommended any more and the new approach is to use, you guessed it, Customer Attributes! Basically, you just create audiences based on these attributes and, for each audience, you assign an experience. When creating the audience, you need to select the “Visitor Profile” section. Obviously, this only works after the user logs in.

10 thoughts on “Customer Attributes”

  1. Hi Pedro,

    I’ve been lurking to this article for a week now, however I still cannot figure out the use and benefit of customer attribute feature in our site. Could you suggest how we can use it on a marketing and communications website wherein the main product offering to the customers is employment or jobs? What changes if any do we need to make to the site (e.g. passing additional data into an evar to sync up to an attribute etc.. or what current evars can we use and how would we do it)

    Thanks and Regards,
    Aaron Joshua

    • You should start classifying the candidates, for example: male/female, age range, salary range, industry they are interested in… Then, using Customer Attributes, you pass that information to both Analytics and Target. In Analytics, you can use this information to create segments and analyse the behaviour based on the different candidate details, in order to uncover patterns or traits you may be interested in. In Target, you can use this information to suggest premium content, tips and tricks… that will depend on the type of candidate. The job selection should not come from Target, but from your own engine.
      In order to do that, you need to pass the user ID in a declared ID to the ECID service, so that Customer Attributes can pick it up.

      • Thanks for the quick response Pedro! I have few more questions in mind that I’d like to clarify:

        > Is it recommended to use an evar for this feature?
        > What is a declared ID?
        • How does it generate?
        • How does it work?
        > What is an ECID Service?
        • Is it different from visitorID Service?

        Someone from the Adobe customer service suggested two ways of tying our candidate ID to Customer Attributes:

        1) using the visitorID Service and running the setCustomerIDs() function on the page and passing the candidate ID into that
        2) passing in the ID via an evar and using a data backfill

        He advised us to use the number 1 above, but I’m not sure if this is what you have suggested on your answer to my first question yesterday. Can you confirm?

        I really appreciate your time to answer my inquiries. Thank you so much!

      • This is correct. Using a declared ID through Visitor.setCustomerIDs() is the way to go. This is better than an eVar, because you do not get into any uniques exceeded limitation and can be used in conjunction with various features, like Customer Attributes, AAM profile merge rules and the device co-op. A declared ID is a unique ID for your customer, like a CRM ID.

        Visitor ID service is the old name for the ECID service.

  2. Appreciate your response Pedro! One last question I have in mind – do you suggest to use the Customer Attribute feature on a Campaign? or better to use it outside of Campaign across multiple areas?


Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.