<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Arthur Vander Voort</title><link href="http://world.optimizely.com" /><updated>2023-03-10T20:43:14.0000000Z</updated><id>https://world.optimizely.com/blogs/arthur-vander-voort/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>Optimizely PIM - How to Auto-Assign Assets to Products During Import</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/3/optimizely-pim---auto-assigning-assets-to-products-during-import/" /><id>&lt;p&gt;Assets can be assigned to products manually, via spreadsheet import, and during initial import leveraging the auto-assignment option. This article will go into detail on how the auto-assignment functionality can work with several use cases.&lt;/p&gt;
&lt;h2&gt;When to use the auto-assignment functionality&lt;/h2&gt;
&lt;p&gt;In order for the auto-assignment functionality to work, the following must be true:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The products must already exist in PIM&lt;/li&gt;
&lt;li&gt;The file names of the assets you&#39;re importing must at least partially match some existing product data (such as product number)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Auto-assignment overview&lt;/h2&gt;
&lt;p&gt;To access the auto-assignment functionality, you must choose the advanced import option from the asset list page by clicking the import button. After selecting your files, you will see several several options that you can configure before initiating the import including the auto-assign toggle. Once you enable auto-assignment, you will choose a property that the file names will be matched with for auto-assignment. In cases where you will match on a partial file name, you will toggle the match partial file name option on and then configure the exact matching logic, which will be further outlined in use cases below.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/3070e34aa9ed42828b9117d23c3e1a45.aspx&quot; alt=&quot;AutoAssign2.gif&quot; width=&quot;1200&quot; height=&quot;675&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Use Case 1: Auto-assigning with exact file name match&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/f3a00e8cc0f644b8b2a2f383095f845a.aspx&quot; alt=&quot;Match1.png&quot; width=&quot;490&quot; height=&quot;149&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For this scenario, you only have a single image for each product and the file name matches the product number exactly.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the import option and select the assets you want to import.&lt;/li&gt;
&lt;li&gt;Enable the auto-assignment toggle.&lt;/li&gt;
&lt;li&gt;Select product number as the &quot;auto assign based on&quot; property.&lt;/li&gt;
&lt;li&gt;Proceed with the import.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/38500b52c8264d8a8f299cb16305c35c.aspx&quot; alt=&quot;UseCase1.png&quot; width=&quot;900&quot; height=&quot;255&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Use Case 2: Auto-assigning with partial match for multiple images per product&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/b34cb9c754194b59aea69f5fb99a91c2.aspx&quot; alt=&quot;Match2.png&quot; width=&quot;574&quot; height=&quot;156&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In this scenario, you have multiple assets that will be assigned to the same product, and the file name includes the product number plus an incrementing number.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the import option and select the assets you want to import.&lt;/li&gt;
&lt;li&gt;Enable the auto-assignment toggle.&lt;/li&gt;
&lt;li&gt;Select product number as the &quot;auto assign based on&quot; property.&lt;/li&gt;
&lt;li&gt;Toggle the &quot;Match partial file name&quot; option on.&lt;/li&gt;
&lt;li&gt;Set the starts with option to start at position 0.&lt;/li&gt;
&lt;li&gt;Update the ends with options to end before the 1st occurrence of _.&lt;/li&gt;
&lt;li&gt;Proceed with the import.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/404178525b354634826e380e0d4a9a0a.aspx&quot; alt=&quot;UseCase2.png&quot; width=&quot;900&quot; height=&quot;410&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Use Case 3: Auto-assigning with partial match within file name&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/0035589758414fc9b3cc93efd60875f4.aspx&quot; alt=&quot;Match3.png&quot; width=&quot;791&quot; height=&quot;144&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In this use case, you received assets from a supplier that include the name of the product&#39;s brand, as well as the product number and image number.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the import option and select the assets you want to import.&lt;/li&gt;
&lt;li&gt;Enable the auto-assignment toggle.&lt;/li&gt;
&lt;li&gt;Select product number as the &quot;auto assign based on&quot; property.&lt;/li&gt;
&lt;li&gt;Toggle the &quot;Match partial file name&quot; option on.&lt;/li&gt;
&lt;li&gt;Update the starts with options to start after the 1st occurence of -..&lt;/li&gt;
&lt;li&gt;Update the ends with options to end before the 1st occurrence of _.&lt;/li&gt;
&lt;li&gt;Proceed with the import. If any of the selected files do not match products based on the selected property, a warning will display asking if you wish to proceed.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/cfda83e86b9b488b8cf0c6d3d2047658.aspx&quot; alt=&quot;UseCase3.png&quot; width=&quot;900&quot; height=&quot;426&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Notes &amp;amp; Caveats:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The auto-assignment capability currently only works during the import process and cannot be applied for already imported assets.&lt;/li&gt;
&lt;li&gt;The asset import will be slower when using the auto-assignment option and since it has to evaluate each product for matches, the more products you have, the more it will affect the performance.&lt;/li&gt;
&lt;li&gt;When using partial matching logic, the same asset can be assigned to multiple products. There are cases where this is intentional (e.g. many products have the same document attached), but it is also possible to set up matching logic that is not restrictive enough and assigns assets to the wrong products.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information on the asset management capability in PIM, check out our full &lt;a href=&quot;https://support.optimizely.com/hc/en-us/sections/4413191465613-Assets&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;</id><updated>2023-03-10T20:43:14.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely PIM - Speed up Implementations by Generating Properties &amp; Product Templates</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/3/optimizely-pim---tips-for-quick-setup-of-properties--templates/" /><id>&lt;p&gt;Setting up well-defined properties and product templates is the most important and also often the most time consuming part of a PIM implementation. Opti PIM has a feature that can greatly speed up this process by leveraging a set of product data and automatically generating the appropriate properties and templates.&lt;/p&gt;
&lt;p class=&quot;blueHighlight&quot;&gt;Note: For Customized Commerce implementations, properties and templates will be generated via integration from commerce. The outlined functionality may have some use cases for Customized Commerce customers but is primarily useful for Configured Commerce.&lt;/p&gt;
&lt;h2&gt;Setting up product data prior to property &amp;amp; template generation&lt;/h2&gt;
&lt;p&gt;To generate properties and templates for all of your product data, you will want to have a full set of product data. This data may already live in your ERP, an existing commerce solution, or another system and simply need to be exported. The data must be in a spreadsheet format with a column to represent each property. If you want to generate templates, you will need a column with data that can be used to define similar products. For instance, columns for data like primary category, product type, or product class are likely to define similar products that have data for the same properties and thus make sense to use as a product template.&lt;/p&gt;
&lt;h2&gt;Generating properties &amp;amp; templates&lt;/h2&gt;
&lt;p&gt;Once you have your product data ready, you can access the generate import file option from the Property list within the Import dropdown. This will open a window with a simple three step process. Select a file, and choose whether you want to generate properties, templates, or both, and then proceed.&amp;nbsp;&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/92ed1e36d40f464fbf420c1cee38e712.aspx&quot; alt=&quot;GenerateData3.gif&quot; width=&quot;800&quot; height=&quot;883&quot; /&gt;&lt;/center&gt;&lt;center&gt;&lt;/center&gt;
&lt;h3&gt;Generating Product Templates&lt;/h3&gt;
&lt;p&gt;To generate product templates, you will need to choose a column from the selected file to represent product templates. As mentioned above, something like product type, product class, or primary category are common options from standard product data.&lt;/p&gt;
&lt;p&gt;When processing the file, we create a template for each unique value within this column. We identify which properties should be included in this template by finding the columns that have data for any of the products with the same value.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/475f7ad0aafa4113b58b0ee7ea515259.aspx&quot; alt=&quot;Template3.png&quot; width=&quot;1000&quot; height=&quot;494&quot; /&gt;&lt;/center&gt;&lt;center&gt;&lt;img src=&quot;/link/7d8babfd7d6647eb821ab956027c1606.aspx&quot; alt=&quot;Template4.png&quot; width=&quot;800&quot; height=&quot;503&quot; /&gt;&lt;/center&gt;
&lt;h3&gt;Generating Properties&lt;/h3&gt;
&lt;p&gt;When choosing the option to generate properties, you can choose which columns will have properties created. Properties like product number, product title, and URL segment will already exist in PIM as system properties and should be skipped. There may be other data in the file that you don&#39;t need in PIM, such as pricing, tax, or inventory data that is already managed in your ERP. You can exclude any of these by not selecting them on the preferences step.&lt;/p&gt;
&lt;p&gt;When processing the file, we will create a property for each column selected. We will analyze the data in each column and try to choose the right control type. For properties that we determine will use a dropdown control type, we will capture the list of unique values. See the property control type logic below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Toggle&lt;/strong&gt; - Every value in the column is yes/no or true/false.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Date/Time Picker&lt;/strong&gt; - Every value in the column uses a date format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML&lt;/strong&gt; - Any value in the column includes HTML tags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Text Field&lt;/strong&gt; - Every value in the column is unique and less than 250 characters OR the column has no data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Text Area&lt;/strong&gt; - Every value in the column is unique and there are some with more than 250 characters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dropdown&lt;/strong&gt; - Multiple rows have the same value for a column.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/2d9417a4cd04415a818847e8dab835d2.aspx&quot; alt=&quot;Properties.png&quot; width=&quot;850&quot; height=&quot;560&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Download the files, review, and import&lt;/h2&gt;
&lt;p&gt;When we generate properties and templates, we do &lt;em&gt;not&amp;nbsp;&lt;/em&gt;automatically create all of these records. Instead, we create proprety and template files that can be imported to generate the data. If you generated both properties and templates they will be downloadable as a zip file. If you only generated one of the options it will be downloadable as an excel file. It is important that you review the data prior to import.&lt;/p&gt;
&lt;p&gt;Things to review before importing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Were there any warnings on the download screen? If so, there was something in the data that made us less confident in determining the appropriate control type for a property. Review the warnings and make changes to property definitions if necessary. Some examples of warnings:&amp;nbsp;
&lt;ul&gt;
&lt;li&gt;If all rows had a distinct numeric value we will default to using a text field, but in some cases a number control type may be appropriate.&lt;/li&gt;
&lt;li&gt;If there was a column with no data for any row we will default to using a text field but you may not need to create a property at all.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;For templates, we automatically set all properties as optional. Most likely, you will want to configure many of them to be required or recommended to enforce good data governance. We recommend someone that knows the product data well review the spreadsheet and configure required and recommended properties for each template before importing.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/0109c836989f4b43ac110c058d6c60af.aspx&quot; alt=&quot;TemplateUpdate2.gif&quot; width=&quot;800&quot; height=&quot;864&quot; /&gt;&lt;/center&gt;
&lt;p&gt;Once you&#39;ve reviewed and made any changes, you can import the properties and templates. The properties must be created first, since the templates are based on a subset of these properties. After all the properties and templates are created, you can begin importing products into PIM.&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;</id><updated>2023-03-03T02:34:07.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely PIM - Save Time With Dynamic Categories</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/2/optimizely-pim---saving-time-with-dynamic-categories/" /><id>&lt;p&gt;For customers with large catalogs and complex taxonomies, managing product to category assignments can be a very time consuming task. Optimizely PIM allows you to manage category assignments within the application or by import but also has a dynamic category feature that can simplify the category assignment process and save teams a ton of time.&lt;/p&gt;
&lt;h1&gt;Standard Category Setup&lt;/h1&gt;
&lt;p&gt;Each product can be assigned to categories manually within the PIM. You can either edit the product record and assign categories from the categories tab, or edit the category and assign any number of products from the products tab. You can also assign products to categories in bulk via import. These approaches can be manageable in some cases, but depending on your taxonomy and data sources, this may become a serious chore.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/4fc523afb4c84a13ab8237484f8490dd.aspx&quot; alt=&quot;StandardSetup.png&quot; width=&quot;900&quot; height=&quot;587&quot; /&gt;&lt;/center&gt;
&lt;h3&gt;When to use standard category setup:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Smaller or less complex taxonomy&lt;/li&gt;
&lt;li&gt;Data coming from a primary source with taxonomy data that matches your site&#39;s taxonomy&lt;/li&gt;
&lt;li&gt;Infrequent product onboarding&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Dynamic Categories&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;Opti PIM&#39;s dynamic categories allow you to simplify category management by using rules to determine product assignments. Once a category has a dynamic rule defined, you will no longer need to actively manage its products.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;When to use dynamic categories:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Large or complex taxonomy&lt;/li&gt;
&lt;li&gt;Data coming from disparate sources&lt;/li&gt;
&lt;li&gt;Product category data not provided by data sources&lt;/li&gt;
&lt;li&gt;Product category data from sources does not match your taxonomy&lt;/li&gt;
&lt;li&gt;Frequent product onboarding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dynamic category rules are setup in the UI using our rule builder. Rules are created by first selecting the property that will drive the rule, choosing an operator, and entering the value for the operator. For instance, if I want to create an &quot;Energy Efficient&quot; category, I might create a rule using a boolean property named &quot;energy star certified&quot; with an operator of &quot;equals&quot; and a value of &quot;yes.&quot; Any product that has a value of yes for the energy star certified property will be included in the category.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/09648bb8cb2048eba531d8343582bf8c.aspx&quot; alt=&quot;EnergyEfficient1.png&quot; width=&quot;900&quot; height=&quot;312&quot; /&gt;&lt;/center&gt;
&lt;p&gt;Multiple rules can be set for a category, and categories can be set up so products that either match any of the rules or all of the rules will be included. For instance, you may have another boolean property of &quot;green certified&quot; and want to include any product that has data to match at least one of these rules. You would change matching logic to &quot;any&quot; and then add the second rule as shown below.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/7b70f1d567914d488a01b458f3a58131.aspx&quot; alt=&quot;EnergyEfficient2.png&quot; width=&quot;900&quot; height=&quot;381&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Use Case 1: Manage All Categories with Dynamic Categories&lt;/h2&gt;
&lt;p&gt;If you follow our recommendation to create product templates that match all of your lowest level categories, you can easily manage all categories using dynamic rules. This approach will take some effort on the initial setup but supports strong data governance while also completely eliminating the need for manual category management.&lt;/p&gt;
&lt;h3&gt;Setup:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create or generate templates for your leaf (lowest) level categories.&lt;/li&gt;
&lt;li&gt;Edit each category and enable dynamic rules on the products tab.&lt;/li&gt;
&lt;li&gt;Select product template as the property, equals as the operator, and the name of the category as the value.&lt;/li&gt;
&lt;li&gt;Repeat for each leaf level category.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/ef967b37f7dc4bc4937e510be51e4e74.aspx&quot; alt=&quot;TemplateBasedUseCase.gif&quot; width=&quot;900&quot; height=&quot;657&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Use Case 2: Use Dynamic Categories for &quot;Special&quot; Categories&lt;/h2&gt;
&lt;p&gt;There may be special categories that are outside of your main taxonomy that can be more easily managed using a dynamic category rule. These are typically categories that include products that belong to multiple other categories. Examples could include energy efficient products, locally made products, sustainable products or clearance products. As long as your products have the appropriate data, you can easily create and manage these types of categories. As an example, if I am a distributor based in the United States, my customers may be more likely to purchase products in an &quot;American Made&quot; category.&lt;/p&gt;
&lt;h3&gt;Setup:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Ensure there is a property to drive this rule logic (in this case &quot;Made in the USA&quot;) and your products have data for the property.&lt;/li&gt;
&lt;li&gt;Create your new category and enable dynamic rules on the products tab.&lt;/li&gt;
&lt;li&gt;Select the new property with an operator of equals and a value of true.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/dbec7685bfae4d3e90866a22fe5888ba.aspx&quot; alt=&quot;AmericanMadeUseCase.png&quot; width=&quot;900&quot; height=&quot;441&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Notes &amp;amp; Caveats:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Currently, dynamic rules can be created using properties that use text field, dropdown, radio button, multi select, and boolean control types. The operators and rule configurations&amp;nbsp;available will vary based on the control type of the property selected.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Products added to categories via dynamic rules will not require approval in the workflow. (e.g. If a product is already approved, and a dynamic rule is set that adds this product to a category, the product will not be resubmitted for approval)&lt;/li&gt;
&lt;li&gt;To avoid constant evaluation of dynamic category rules whenever product data changes, products will not immediately show up in dynamic categories when imported or edited. Rules are evaluated when the category is saved and when data is published to commerce, so the products will be added to the appropriate category as part of the publishing process.&lt;/li&gt;
&lt;li&gt;Since rules are evaluated as part of the publishing process, large numbers of dynamic category rules can increase the time it takes for the publish job to run.&lt;/li&gt;
&lt;/ul&gt;</id><updated>2023-02-24T16:04:12.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely PIM - Data Cleansing in PIM: Save Time by Importing Messy Data</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/2/optimizely-pim--/" /><id>&lt;p&gt;In my previous post, I talked pretty extensively about why setting up data governance is both an obstacle and essential to getting data into the PIM. Another common obstacle is trying to perfect your data prior to importing it to the PIM. You can spend a lot of time in an Excel spreadsheet, trying to find and replace a bunch of bad values across dozens or hundreds of columns. While this is a valid approach, Optimizley PIM also has functionality that you can leverage to cleanse your data directly in the application. This article outlines an approach to speed up your implementations without sacrificing data quality.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;MessyDataSample.png&quot; src=&quot;/link/e1dc416bdc6441e18f5b183cb5ecbca8.aspx&quot; width=&quot;1156&quot; height=&quot;479&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Before we get into it, here are a few caveats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This approach is specifically for what we commonly call &#39;attribute&#39; data &amp;ndash; product data that has a defined list of values. Think of size, color, guage, width, length, material, finish, wattage, and so on.&lt;/li&gt;
&lt;li&gt;Depending on the number of properties and property values, this can still be a time consuming process.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;This approach will&amp;nbsp;&lt;em&gt;not&lt;/em&gt; help you clean up data for unique product properties like product description or product title.&lt;/li&gt;
&lt;li&gt;This approach is only recommended during implementation. You &lt;em&gt;must &lt;/em&gt;re-establish strong data governance after cleansing your data to get value from this exercise.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Set up your properties to allow bad data&lt;/h1&gt;
&lt;p&gt;Properties that ony allow a defined list of values typically make up the bulk of product data. Normally, when data is imported, if a product has a value that is not on the list for this property, the data will not be imported, and the bad data will be isolated. The key to this approach is to intentionally set your properties in a way that allows bad data to be ingested. You must set all of your properties that use a defined list of values to allow ad hoc values. With ad hoc values enabled, no data governance is enforced, and any value will be imported and added to the property&#39;s value list.&lt;/p&gt;
&lt;p&gt;If you already have all of your properties created, you can easily toggle them to allow ad hoc values:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Filter the property list for properties that use a dropdown control type.&lt;/li&gt;
&lt;li&gt;Export properties and choose the option to only included the filtered list.&lt;/li&gt;
&lt;li&gt;In the exported file, set &#39;Allow Adhoc Values&#39; to &#39;yes&#39; for every row.&lt;/li&gt;
&lt;li&gt;Import the properties to the PIM.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/688b1f4856014c6a8be9fbb66a10e3b0.aspx&quot; alt=&quot;SetAdhocs.gif&quot; width=&quot;1200&quot; height=&quot;675&quot; /&gt;&lt;/center&gt;
&lt;h1&gt;Import your messy product data&lt;/h1&gt;
&lt;p&gt;With the properties configured, you can now import your product data. Data governance will not prevent your messy data from being imported for these properties, which is exactly what we want.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to imports.&lt;/li&gt;
&lt;li&gt;Select your product data file.&lt;/li&gt;
&lt;li&gt;Map your data and proceed through the import wizard.&lt;/li&gt;
&lt;li&gt;Initiate the product import.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Review &amp;amp; cleanse your data&lt;/h1&gt;
&lt;p&gt;With the import complete, all of the data, good and bad, has been imported and the property value lists have been updated. This is where the work starts. We are going to review the values for each property and correct any bad ones. To do this, we will filter for the properties we configured to allow ad hoc values and then work our way through the list.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the property list, apply a filter for properties that use a dropdown control type.&lt;/li&gt;
&lt;li&gt;Edit the first property.&lt;/li&gt;
&lt;li&gt;Go to the values tab.&lt;/li&gt;
&lt;li&gt;Review the list of values for bad data.&lt;/li&gt;
&lt;li&gt;For any bad value, click the edit icon and enter the preferred value (for instance, if you want &#39;33 inches to&#39; be &#39;33 in&#39;, update this).&lt;/li&gt;
&lt;li&gt;When you have cleaned up all the bad values, toggle &#39;allow ad hoc values&#39; to false and save the property.&lt;/li&gt;
&lt;li&gt;Repeat until you are through all properties.&lt;/li&gt;
&lt;/ol&gt;
&lt;center&gt;&lt;img src=&quot;/link/9b3c0eb067774c2ea94ff0f1cdd3f215.aspx&quot; alt=&quot;PropertyValueCleanup.gif&quot; width=&quot;1200&quot; height=&quot;675&quot; /&gt;&lt;/center&gt;
&lt;p&gt;When the data was initially imported, any bad values were added to the property list and saved to products that had those values. When you edit the property value and save the property, we will propagate the changes to all products that had the value. This lets you remove duplicate (e.g. 24&quot; &amp;amp; 24 inches) and erroneous values while automatically updating the product data.&lt;/p&gt;
&lt;h1&gt;Re-establish your data governance to maintain quality&lt;/h1&gt;
&lt;p&gt;Now that all of our property value lists have been reviewed and the product data is cleansed,&amp;nbsp; we need to ensure that we don&#39;t waste this effort by allowing bad data back into the PIM. In the previous step, we recommended toggling the ad hoc value option off after you finished each property, but make sure you did not miss any. To do this, we can use the export/import approach again similar to when we initially enabled the ad hoc values.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Filter the property list for properties that use a dropdown control type.&lt;/li&gt;
&lt;li&gt;Export properties and choose the option to only included the filtered list.&lt;/li&gt;
&lt;li&gt;In the exported file, set &#39;enable ad hoc&#39; to &#39;no&#39; for every row.&lt;/li&gt;
&lt;li&gt;Import the properties to PIM.&lt;/li&gt;
&lt;/ol&gt;</id><updated>2023-02-18T01:51:44.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely PIM - Building Blocks for Good Data Governance</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/2/optimizely-pim---building-blocks-to-good-data-governance/" /><id>&lt;p&gt;The first thing most stakeholders want to see when they start a PIM implementation is their products in the application. While this is completely natural, it is also impossible without first building the foundations of PIM in the form of product properties and templates. Sometimes, the process of creating properties can be rushed, or corners are cut to speed up the process and get data in quickly. This can undermine data governance in the long term and be hard to rectify. Ideally you can take the time to properly define the foundational elements at the start of an implementation. Read on to learn more about establishing good data governance in Optimizely PIM.&lt;/p&gt;
&lt;p class=&quot;blueHighlight&quot;&gt;Note: The way properties and templates are setup will vary significantly depending on whether PIM is integrated with Configured Commerce or Customized Commerce, but the principles of data governance apply for both.&lt;/p&gt;
&lt;h2&gt;Data Governance Overview&lt;/h2&gt;
&lt;p&gt;Data governance is system enforced in PIM based on the setup of properties and product templates.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Properties&lt;/strong&gt; are the foundation that your products are built from. They define every piece of metadata on your products, from product titles to attributes to marketing descriptions. The way you configure properties has the biggest impact on the enforcement of data quality. You will determine how users interact with the property by selecting the control type. For instance, you can configure a material property to use a dropdown with a pre-defined list of values, or you can create it using a text field control type where users can enter any value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Product templates&lt;/strong&gt; are the second layer of data governance in PIM. Templates determine which properties are required before the product can be published to commerce. Templates can be set up with strong governance when created for a specific subset of similar products. If product templates are created in a generic manner to accommodate many types of products they will fail in their role of enforcing data quality. They will also make it harder to use PIM, by exposing irrelevant properties on products that do not use them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Properties - Ensure the data is right&lt;/h2&gt;
&lt;p&gt;Data quality is enforced on properties any time products are imported or saved within PIM. If data is not valid based on the property&#39;s setup, the data cannot be imported or products in PIM cannot be saved. This is the first, and most critical layer of data governance.&lt;/p&gt;
&lt;p&gt;When determining how to configure your properties you should consider how the property is used by your system and how the data is presented to your customers on your website. Is the property used as a filter or in a comparison tool? Is the property for content that will be unique for each product? Does every single product require data for the property? Is the property only used for internal purposes?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the property is used to filter or compare products, you want to ensure that the data and formatting is consistent across your products. Using a dropdown with a defined list of valid values will help enforce this consistency.&lt;/li&gt;
&lt;li&gt;If every product will have a unique value, using a text field, text area or HTML property makes sense.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;If every single product must have data for the property you can flag it as globally required. This will prevent any products from being published without data for this property.&lt;/li&gt;
&lt;li&gt;If the property is not customer facing and there is less risk with having an imprecise value, it may be more appropriate to use a text field, or a dropdown that allows adhoc values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See examples of how each property would be considered:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/9d037c044190403eaab5bb35ea778518.aspx&quot; alt=&quot;PropertyControlTypes.png&quot; width=&quot;1000&quot; height=&quot;312&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In general, we recommend using dropdowns, or other control types that use a defined list of values for the majority of properties. This applies to common attributes like material, finish, color, size, gauge, height, width, length, and any other data that will be used to filter products. Dropdowns that allow adhoc values can be handy during an implementation, but if not toggled off after the implementation they will undermine data governance. We also recommend against using text fields for these types of attributes as there is no enforcement of consistent values when using them.&lt;/p&gt;
&lt;p&gt;You can leverage Opti PIM&#39;s built in capability to generate properties from a set of product data as a starting point for your property definition. Read more about this feature &lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/8776424448269-Generate-properties-and-templates-from-product-data-sheets-in-Optimizely-Product-Information-Management&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Product Templates - Ensure you have the right data&lt;/h2&gt;
&lt;p&gt;Templates enforce data governance as part of the product completeness calculation. This serves as a publishing gate as products must have data for required properties before they can be published to commerce. In addition, templates also define optional and recommended properties for each product and the order that these properties will display when editing the product in PIM.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/8ebf0a2b37e14985a6b75b8c35d91226.aspx&quot; alt=&quot;TableCompleteness.png&quot; width=&quot;800&quot; height=&quot;480&quot; /&gt;&lt;/center&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Templates are created by selecting a subset of your properties. You need to think about which properties are appropriate for different types of products and which of those properties will be critical for customers purchasing these products on your site.&lt;/p&gt;
&lt;p&gt;We strongly recommend creating templates that closely match your category structure. Typically, you will want a template for each leaf level category. You will select the properties that are appropriate for this type of product and determine if the properties are required for publishing. You can also configure properties as recommended, which will allow you to filter for products that are missing this data but will not prevent you from publishing.&lt;/p&gt;
&lt;p&gt;As an example, if I sell furniture, I should create a product template specific to each type of furniture, rather than have a generic template for all furniture. While some properties, like material, style and brand, may be shared by all products, other properties will not make sense when in a generic template. If I include product specific properties like shape and desk type they must be set as optional since they will be editable for products that don&#39;t use these properties. I will not be able to require tables to have a shape defined or desks to have a desk type defined. There is also risk that users accidentally enter data for properties that don&#39;t make sense for the specific type of product.&amp;nbsp;&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/c15b6bef1c09404bbf595f78d275d14a.aspx&quot; alt=&quot;GenericTemplate.png&quot; width=&quot;800&quot; height=&quot;662&quot; /&gt;&lt;/center&gt;
&lt;p&gt;If I create templates that are specific to each type of furniture I&#39;m able to restrict products from being published if they are missing important data.&amp;nbsp; I can also avoid the risk of invalid data being set for properties that aren&#39;t valid for this type of product.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/d35245e546244b01a08db8a7f6014499.aspx&quot; alt=&quot;TableTemplate.png&quot; width=&quot;800&quot; height=&quot;569&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Additional Information&lt;/h2&gt;
&lt;p&gt;To learn more about all of the functionality and setup options for properties and product templates refer to our &lt;a href=&quot;https://support.optimizely.com/hc/en-us/sections/7766152367117-Properties-and-product-templates&quot;&gt;documentation .&lt;/a&gt;&lt;/p&gt;</id><updated>2023-02-10T22:11:38.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely PIM - Variant Management Overhaul &amp; Rollout</title><link href="https://world.optimizely.com/blogs/arthur-vander-voort/dates/2023/2/optimizely-pim---variant-management-overhaul--rollout/" /><id>&lt;p&gt;Optimizely PIM has completely overhauled variant management with improved usability and support for variant swatches. In order to enable this functionality, your connector version must be up to date and if you currently have variants setup, they will need to be converted to match the new data model. Read on for details on the functionality, data conversion and rollout process.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Feature Overview&lt;/h2&gt;
&lt;p&gt;Management of product variants has been completely overhauled with support for new display options as well as easier management of large sets of products.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New area for managing variant types - a new entity that defines all variant options and can be assigned to any number of parent products&lt;/li&gt;
&lt;li&gt;Choose how product variant options display on the website with options for swatches, buttons, dropdowns, etc.&lt;/li&gt;
&lt;li&gt;For properties that use swatches, assign colors or images to each property value&lt;/li&gt;
&lt;li&gt;Support within the standard product import for assigning children to parents, eliminating a stand alone import&lt;/li&gt;
&lt;li&gt;Streamlined wizard for manual parent creation process&lt;/li&gt;
&lt;li&gt;New options to convert standard products to parents manually and in the standard product import, eliminating a stand alone import&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/5e496046713e4a7bbf14e9a69ba2db53.aspx&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/center&gt;
&lt;h2&gt;Rollout Process&lt;/h2&gt;
&lt;p&gt;In order to get access to the new variant functionality, the following steps will need to happen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Optimizely PIM team will convert existing variants to match the new data model.&lt;/li&gt;
&lt;li&gt;The Optimizely PIM team will enable the feature for the customer.&lt;/li&gt;
&lt;li&gt;The customer will review the variant setup in PIM prior to the next time data is published to commerce.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Update your connector version&lt;/h3&gt;
&lt;p&gt;The new variant functionality cannot be enabled unless your connector is updated to version 1.0.20221212.5 or newer. Your connector version will automatically be updated to the latest version when you upgrade commerce. You can also upgrade your connection version independently by specifying this in a support request. See &lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/9103132091661-Upgrade-the-Configured-Commerce-Optimizely-Product-Information-Management-connector&quot;&gt;this article&lt;/a&gt; for more information. Note that you can upgrade your connector version at any time as the integration logic is backwards compatible with the old variant data model.&lt;/p&gt;
&lt;h3&gt;Request a feature rollout&lt;/h3&gt;
&lt;p&gt;Your team will want to review the variant setup prior to publishing data to commerce after the feature is enabled so choose a date when your team will be available to review your variants.&lt;/p&gt;
&lt;p class=&quot;blueHighlight&quot;&gt;Note: Customers that do not currently use variants will not require a data conversion or need to do any of the review detailed below. The feature will simply be enabled for them.&lt;/p&gt;
&lt;h3&gt;Convert existing variants&lt;/h3&gt;
&lt;p&gt;The Optimizely team will carry out a data conversion so your old variants use the new data model. Prior to this feature rollout, variant properties and their configurations were defined for each parent product. The new functionality uses reusable &quot;Variant Types&quot; that are assigned to parent products. If you have many variants that use the same variant properties, these can be configured on a single variant type. When we convert your existing data, we will identify parent products that use the same variant properties as each other, create variant types with these variant properties assigned to them, and assign values used for these properties based on the values used by their child products.&lt;/p&gt;
&lt;p&gt;Using the old data model, if you had 100 &quot;t-shirt&quot; parent products that used size and color as the variant properties you had to configure the properties for each parent product. In the new data model, there will be a single &quot;t-shirt&quot; variant type with size and color assigned. Each parent product will be assigned to this variant type and inherit the property configuration for swatches, sort order, and display options from this variant type.&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;/link/5cf6caf021b5460aa58e9f9783b86d83.aspx&quot; /&gt;&lt;/center&gt;
&lt;h3&gt;Enable feature &amp;amp; review variants&lt;/h3&gt;
&lt;p&gt;After the old variants are converted to the new data model the Optimizely PIM team will enable the feature for you. There are several things you will want to review and potentially update before your next publish job runs and the data is sent to commerce.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Review the variant types and update names if desired. When we convert your existing data to the new data model we won&#39;t know appropriate names for each variant&amp;nbsp;type so we will generate names using the variant properties. For instance, the variant type used by t-shirts in the above example will be named &quot;Size,Color&quot; and can be renamed.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/f094e5eba64746b793b1063d4f22b7d3.aspx&quot; alt=&quot;&quot; width=&quot;800&quot; height=&quot;514&quot; /&gt;&lt;/center&gt;
&lt;ul&gt;
&lt;li&gt;Update display options for variants if desired. By default, all variant properties will use the dropdown option for the display style since this will match the pre-conversion behavior. You may want to change the display style and configure swatches for some products. For example, with the t-shirts above, I may want to use a dropdown for the size property but a swatch grid for the colors. I will then select the colors or define them with the appropriate hex code. When editing the swatch setup, values used by children will be pre-selected for configuration but additional values can be added as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/c0a9bab5943b4c0aac4c995e2bfef336.aspx&quot; alt=&quot;Variant3.png&quot; width=&quot;800&quot; height=&quot;515&quot; /&gt;&lt;/center&gt;
&lt;ul&gt;
&lt;li&gt;Review and correct the sort orders of the variant property values. Since the data conversion is combining setup from many parent products to a single variant type, we cannot ensure that the sort order of the values for each property will match. This could result in issues like the sort order for size showing Large, Small, Medium when you want them to be in order from small to large. You should click the setup option within the variant type for each property and adjust the sort order of values to ensure they display as intended on your website.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/41601e3626984ca3b41e2f0ee349f778.aspx&quot; alt=&quot;VariantPropertyValueSortOrder.gif&quot; width=&quot;800&quot; /&gt;&lt;/center&gt;
&lt;ul&gt;
&lt;li&gt;Verify that the variant types are assigned to parent products. The data conversion will automatically assign the newly created variant types to parent products, but you can easily verify this by editing a variant type and clicking on the product tab to see which parents are using the variant type.&lt;/li&gt;
&lt;/ul&gt;
&lt;center&gt;&lt;img src=&quot;/link/f7b85e3a464048879ca93c13d645cd21.aspx&quot; alt=&quot;&quot; width=&quot;800&quot; height=&quot;514&quot; /&gt;&lt;/center&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that the parent and child products are approved. Because of the data conversion, the next time you publish data we will be creating new variant types in commerce. In order to avoid issues like children missing from commerce, you will want to ensure that both the parent and child products are published together. As part of the data conversion we automatically update all published variant products to a status of approved, but if you make changes and do not approve the products you could end up with products missing from your site.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Publish data to commerce&lt;/h3&gt;
&lt;p&gt;Once you are satisfied with the setup of your variants you can run your publish job to get the data into commerce. You can check the variant type setup in the commerce admin console and then validate that they display properly on your site after rebuilding the index.&lt;/p&gt;</id><updated>2023-02-04T00:09:11.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>