Learn more at Akeneo Akademy
Learn how to define and manage different types of product identifiers within Akeneo PIM.
You might need to identify products in the PIM for various reasons: search for a specific product, update one or more products, or synchronize product data with other systems.
How to identify a product?
SKU used to be the only product identifier in the PIM. There are now 3 different ways to identify a product:
- Use the identifier attribute called SKU, which is the main identifier for all your products and is available by default in your PIM in minimal data set features
- Change your main identifier and select any identifier attribute as the main identifier for your whole catalog
- Use the product UUID, which is an immutable way to identify your products
Creating several identifier attributes is now possible!
We now offer the possibility to define and manage different types of product identifiers such as SKU (Stock Keeping Unit), UPC (Universal Product Code), EAN (European Article Number), ISBN (International Standard Book Number), ASIN (Amazon Standard Identification Number), and more, for the same product.
These additional identifiers can be associated with your products and used for tracking, referencing, and easing the integration with other systems. One of these identifier attributes must be set as the “main identifier.”
Manage your products with the Identifier attribute
Description of the Identifier attribute
The identifier is an attribute with a few specific characteristics:
- By default, the main identifier is the “SKU”. You can create up to 10 identifier attributes for your catalog and set another identifier attribute as the main identifier. Setting up another main identifier in your PIM is only possible through the UI, on an identifier attribute settings page of your choice. This change is not possible via imports or the API.
- The value of this attribute must be unique per product.
- This attribute is not localizable (per locale) nor scopable (per channel).
On the PIM, you can now search for a product with any of its identifiers in two different ways:
- Use the search bar at the top of the product grid if you search for one specific product,
- or use the filter on the left with the “in-list function” to display a list of several products.
The identifier attribute has evolved
- SKU is now optional, meaning this field can stay empty when creating a new product.
- This attribute can also be deleted from family attributes and be unselected from being required for product completeness.
Compatibility with Onboarder
Automate the creation of identifiers with the Identifier Generator
The Identifier Generator is the new way to automate the generation of your identifiers during the creation process of your products, allowing you to create and structure product identifiers matching your needs.
With this feature, you will have the ability to:
Find out more about the Identifier Generator with our dedicated Help Center article.
Read-only identifier attributes
If you want to prevent users from modifying identifiers after they have been created, we can recommend setting the identifier as “Read-only” (Entreprise Edition only) in the attribute settings. You can still have an Identifier Generator working with the family of these products to automatically generate identifiers while disabling any future updates.
Update your products with the API
8 API endpoints are available to help you identify, update, or delete your products. The main identifier is the key entry to identify specific products from your PIM.
Please refer to api.akeneo.com for more details.
New API endpoints have been created, working with product “UUIDs”, which is the most future-proof way to identify products.
Manage your products with the UUID
Description of the UUID, the new technical product identifier
Introduced in September 2022, the UUID is a technical product identifier assigned to every product in the PIM.
Here are some characteristics of this identifier:
- The UUID is not an attribute but a technical identifier. Therefore, it won’t be displayed as a product value, unlike the identifier attribute.
- The UUID is immutable, meaning it can’t be modified or deleted after the product creation, unlike the identifier attribute.
- The value of each UUID is unique in a PIM.
Every product must have a UUID assigned at the product creation. This can be done in 2 different ways:
- A UUID is randomly assigned to a product in the PIM during product creation.
- A UUID can also be manually assigned during product creation but only with an import process or the API.
The assigned UUID must match the Version 4 UUID standard.
To help you validate your UUID format, here is the link to an online validator.
The UUID is visible in the following places:
- The URL of the product in the PIM
- and the product API.
Update your products with imports
When exporting your products from the PIM, your downloaded files can now contain a new column named “UUID”. Unlike the identifier attribute, you are sure that all your products have a UUID, meaning it is the best way to update your products when re-importing your file in the PIM.
The UUID column is hidden by default. If you want to display this column, Update your export profile and activate 'With Product UUID' before running your export.
Once you have modified your product details in the file, ensure the “UUID” column is still included in the document, as it will help identify your products to update them.
Here are a few use cases when importing products:
- You can create a product with no main identifier & no UUID: a new product will be created and a UUID will be randomly assigned.
- You can create a product with a main identifier and no UUID: a new product will be created with this identifier and a UUID will be randomly assigned.
- You can update a product only with its UUID: the product will be updated even if the identifier is unavailable.
- You can update a product only with its main identifier: the product will be updated even if the UUID is unavailable.
- You can update the identifier of a product using its UUID: the product will be updated with a new identifier.
- You can create a product with your own UUID: you can generate a v4 UUID anywhere (on this website for ex.) and add it during the product creation process.
Here is the table listing all use cases depending on what you fill in the UUID and identifier columns:
|uuid||main identifier||family||use case||Result|
|EAN-ex01||tshirt||Existing product||Update product having main identifier = EAN-ex01|
|EAN-new01||tshirt||New product||Create product with generated uuid and main identifier = EAN-new01|
|tshirt||New product||Create product with generated uuid and no main identifier|
|uuid-0001||EAN-ex02||tshirt||Existing product||Update product having uuid = uuid-0001|
|uuid-0002||EAN-new02||tshirt||New product||Create product with uuid = uuid-0002 and main identifier = EAN-new02|
|uuid-0003||tshirt||Existing product||Update product having uuid = uuid-0003 and no main identifier|
|uuid-0004||tshirt||New product||Create product with uuid = uuid-0004 and no main identifier|
Update your products with the API
New API endpoints have been created to help you identify your products, update them, or delete them using their UUID. They are very similar to old endpoints using the product’s identifier.
This is the most future-proof way to identify and modify your products regardless of the presence of an identifier, and this is why we advise you to update your API configuration with these new endpoints.
Please refer to our guide From product identifier to product UUID for more details.