When mapping the Walmart template, strategy and planning should be taken into account. If you have instances where more than one value is needed for any particular template field, or more than one inventory field should be referenced, a business rule is a great solution.
The most commonly used business rules and their template fields are covered below.
Top 3 Selling Points
The Top 3 Selling Points field provides the top three product features or selling points to describe the product. This is used in search results, category pages and the product detail page. In this field, a maximum of 1000 characters is allowed and HTML is recommended to get the three selling points listed as bullet points.
You can create a business rule to get this done. Say, for example, you have the three product features or selling points saved in three attributes like featurebullet1, featurebullet2 and featurebullet3. From there, we can create a business rule like the one below:
IF(ISBLANK($featurebullet1) AND ISBLANK($featurebullet2) AND ISBLANK($featurebullet3),
The LEFTWORD function allows us to begin counting the characters within the result from the left and trim the result just prior to a space after the given number of characters so no words are cut in half. In this rule, it helps to make sure that the total number of characters is less than 1000.
The ISBLANK function along with the AND condition checks the attributes like featurebullet1, featurebullet2 and featurebullet3 to see if each of them has a blank value in it. If all of them are blank, then, using the IF condition function, the rule will make sure not to send any value.
The CONCATENATE AND JOINNB functions are used in this rule to add the HTML tags for the bullet points. The JOINNB function allows us to join all three feature bullet attributes by wrapping them up with bullet point HTML tags <li> and </li>. The JOINNB function helps us do this by not adding the HTML tags if any one of the feature bullet attributes is blank, thus avoiding blank bullets in the listing. The CONCATENATE function helps to add the final <ul> and </ul> tags to the feature bullets.
For a product to be successfully listed on the Walmart Marketplace, a valid unique Universal Product Code (UPC) with 12 digits, European Article Number (EAN) with 13 digits or a Global Trade Item Number (GTIN) with 14 digits should be sent.
A business rule can be written to send one of the above in the order you’d like. This will make sure to send one of the unique identifiers even if another one is not available. Say, for example, most of the products have UPCs stored in the UPC field and some have EAN or another GTIN stored in a custom attribute called Walmart GTIN. You can use a business rule to send a UPC as long as one is available for the product. If a UPC is not available for a product, we can check the EAN and send it, given that an EAN is available. If an EAN is also not available, we can send the Walmart GTIN.
The following business rule can be used for this process:
The IFBLANK function used here can take up to eight inputs and will return the first non-blank one.
Another way to use business rules is to add zeroes to the GTIN field when they’ve been truncated by Excel during the upload into the ChannelAdvisor platform. Sometimes the leading zeroes of a valid UPC in an Excel file gets truncated by Excel’s built-in functionalities. This will cause the UPC value being uploaded into ChannelAdvisor through the excel file and be saved without the zeroes and, hence, as an invalid UPC. The UPC value sent in the GTIN field must be 12 digits to be a valid one for Walmart.
For example, a SKU has a UPC code of 34844018888 in ChannelAdvisor. The valid UPC code for this SKU is actually 034844018888, but the leading zero was truncated by Excel. You can use the following business rule to automatically add the needed zeros:
The RIGHT function returns the specified number of characters from the right of a text string. By using the CONCATENATE function, the rule first adds 12 zeros to the left and then uses the RIGHT function to pick up the last 12 digits from the right. This gives the result as a 12-digit valid UPC, with leading zeros as necessary.
Rules for the Repricer
The Walmart Repricer has three fields: Use Repricer, Minimum Price and Maximum Price.
- Use Repricer — This field takes one of the following values:
- No (or blank) — Will not reprice the items
- Yes — Will turn the repricer on
- Test — Can be used to see what an item would be repriced to. This will allow you to see repricer information in the template preview as well as competition watch data, but not send repricer price to the marketplace
- Minimum Price — The minimum value an item should be sold for
- Maximum Price — The maximum value an item should be sold for
You can use many methods to turn the repricer on and off for certain products and to use the repricer in test mode for certain products.
One method is to use labels to identify the products and then apply a business rule to decide which corresponding value to send for those SKUs. For example, you are using the label “Test” for the SKUs that need to be in test mode and “Live” for the SKUs the repricer should be enabled for.
In that case, you can use the following three rules in the three repricer fields. Remember, the three fields should send a value when the repricer is in live or test mode.
Use Repricer Field:
CONTAINS(GETLABELSOFTYPE(“”), “Test”), “Test”,
CONTAINS(GETLABELSOFTYPE(“”), “Live”), “Yes”,
The SELECTCASE function evaluates up to five true/false conditions and returns the corresponding value for the first condition that is true or a specified default value. Here, it checks to see if the SKU has the label “Test” or “Live” applied on it and returns the corresponding value of either “Test” or “Live” as output. If the SKU doesn’t have both of the label applied on it, then it will return “No” as output.
The CONTAINS function checks whether the search text occurs in the string. This rule will check whether “Test” or “Live” appears in the list of label names returned by the GETLABELSOFTYPE function.
GETLABELSOFTYPE() returns a comma-separated list of labels based on a type name given within the parenthesis. Passing blank as an argument by sending double quotes with nothing in between them in the place of type name returns the entire list of labels available for that particular SKU.
Minimum Price Field:
IF(CONTAINS(GETLABELSOFTYPE(“”), “Test”) OR CONTAINS(GETLABELSOFTYPE(“”), “Live”), $minimumprice,””)
Maximum Price Field:
IF(CONTAINS(GETLABELSOFTYPE(“”), “Test”) OR CONTAINS(GETLABELSOFTYPE(“”), “Live”), $maximumprice,””)
In the above rules, an OR condition is used along with the GETLABELSOFTYPE(“”) function to check if one of the “Test” or “Live” labels are available in the SKU. If so, it will send the minimum and maximum price to Walmart. If the SKU doesn’t have both of the labels, the rule will send a blank value.
Business rules can also be used in the repricer fields to automatically set a margin of minimum and maximum price. You can write a business rule to use a percentage of the retail price (or any other price attribute) as the minimum and maximum price. If, for example, you’d like the minimum price to be 20% less than the retail price and the maximum price to be 40% more than the buy-it-now price, you can write the following rules:
If the retail price field is left blank, you might run into issues while using this field in the math functions of the business rule. If a blank value is passed into math function, it can sometimes end up giving you a “NaN” value. So using an ISBLANK function to check and return blanks whenever the retail price field is blank helps to have the mathematical calculation done efficiently. A FORMATCURRENCY function formats a number to a currency value, hence ensuring that the calculated result has two decimal values.
Item-Level Shipping Overrides
Continental United States — >Value — > Free Value Shipping
The Free Value Shipping field is used to designate whether or not you want to disable Free Value Shipping within the Walmart Portal. This shipping method is only available for the continental United States and is enabled, by default, for all items in your Walmart shipping setup. You must send a value of “Disabled” for any SKU for which you do not want to use this option. If you don’t send a value, the default designation is “Enabled”.
Use lookup lists or custom attributes to identify the SKUs for which you want to disable Free Value Shipping.
For example, you have the following setup in your account:
- *) You have a lookup list named “Free Value Shipping List” with a list of SKUs that can have free value shipping enabled on Walmart.
- You have another set of SKUs for which you have given the value of “Yes” in a custom attribute called $freevalueshipping. These SKUs should also have the free value shipping feature enabled on Walmart.
- No other SKUs should have free value shipping enabled.
You can then write the following business rule to decide whether to send “Enabled” or “Disabled” in the Free Value Shipping field:
IF(ISINLIST(“Free Value Shipping List”,$itemsku) OR CONTAINS(TOLOWER($freevalueshipping),”yes”),
The ISINLIST function looks up and finds out whether a passed text value exists in the specified lookup list. In this rule, it looks for the SKU name in the lookup list named “Free Value Shipping List”.
The CONTAINS function checks if the given string taken from the attribute Free Value Shipping has the value “yes” in it. The TOLOWER function converts text to lowercase. In this rule, it helps to consider all forms of “yes” to avoid issues with case sensitivity. The OR checks both of the conditions and if one of the two conditions joined by the OR is True, will send the “Enabled”. IF both of the conditions are False, then will send out “Disabled” in the Free Value Shipping field.
Utilizing business rules within the Walmart template fields will help cut down on additional work, and help avoid product errors. Business rules are an excellent tool to help properly convey your data to the marketplace when they exist in more than one field.