ChannelEngine: using replacement tags for mapping

About this document

This document describes the use of replacement tags to map product content and offers.

Table of contents

Introduction

Advanced rules

Replacement tags

Advanced replacement tags

Introduction

Certain channels allow you to change the data exported using mapping rules and values. To change these values, go to the channel's dashboard and select the Mappings tab. You can set Offer and Content mappings, and both support the usage of mapping rules and replacement tags.

ChannelEngine back-end: content mappings

Select a category to see the attributes that can be mapped. Most fields may already have a default value. These values can be changed for all products, either by editing them directly or by using smart rules, which can be done using the dropdown menu at the top of each column. Select Advanced rule to set smart rules. 

ChannelEngine back-end: edit advanced rule

Advanced rules

You can add your own advanced rules with the + Condition and + Rule buttons. Rules can be based on built-in ChannelEngine fields or your own custom fields. The value displayed at the bottom of the page is the same default value that can be set in the mappings overview.

ChannelEngine back-end: advanced rule

Replacement tags

It is possible to combine multiple fields and static text in one value when defining the mapping, either using advanced rules or the default value. This can be done with replacement tags. Replacement tags have the format {CE:FieldName} or {MY:FieldName}, where CE and MY define the kind of field (default and custom, respectively), while FieldName is the name of the field you want to use.

ChannelEngine's standard fields, which are called on by ChannelEngine, have distinct names. You can find the names listed below. Your own custom fields keep the names they are imported with.

Replacement tag Name of the field on ChannelEngine
{CE:Name} Name/Title
{CE:Description} Description
{CE:Details} Details
{CE:MerchantProductNo} Merchant product number
{CE:VendorProductNo} Vendor product number
{CE:Ean} EAN/GTIN
{CE:Brand} Brand
{CE:Stock} Stock
{CE:Size} Size
{CE:GroupNo} Parent SKU
{CE:Color} Color
{CE:CategoryTrail} Category
{CE:Price} Price
{CE:ListPrice} Catalog price
{CE:PurchasePrice} Purchase price
{CE:VatRate} VAT %
{CE:DiscountRate} Discount
{CE:Margin} Margin %
{CE:ShippingCost} Shipping cost
{CE:ShippingTime} Shipping time (days)
{CE:Url} Product URL
{CE:ImageUrl} Image link
{CE:ExtraImageUrl1},{CE:ExtraImageUrl2}, {CE:ExtraImageUrl3}, etc. Extra image link 1, Extra image link 2, Extra image link 3, etc.

Using translated fields

If you use ChannelEngine's translation feature to translate attributes like Description, make sure to use the correct structure: MY:NameOfOriginalField|Origin:2-LetterLanguageCode.

The Origin is where the attribute comes from. Description, for example, is a default ChannelEngine field, so the appropriate input is |CE:. If you translate a custom field such as Gender, the input is |MY:. Note that the translation feature changes the NameOfOriginalField to all capitals, if it is a ChannelEngine field.

E.g.:

  • {MY:COLOR|CE:FR} - takes the French-translated value of the Color attribute.
  • {MY:DESCRIPTION|CE:DE|Ellipsize{2000}} - takes the German-translated value of the Description attribute, uses it, and limits its number of characters to 2,000.
  • {MY:Gender|MY:NL|ToUpper} - takes the Dutch-translated value of the Gender attribute and changes it to uppercase.

Advanced replacement tags

Besides replacing the value of a field using replacement tags, it is possible to apply advanced actions to the  content of the replacement tag. The following actions are currently supported:

Action Example Value Result
Replace text {CE:Description|Replace{Shoes|Sneakers}} Red Shoes Red Sneakers
To uppercase {CE:Description|ToUpper} Red Shoes RED SHOES
To lowercase {CE:Description|ToLower} Red Shoes red shoes
To title case {CE:Description|ToTitle} reD sHoes Red Shoes
To EAN13 {CE:Ean|ToEan13} 050743174049 0050743174049
Trim spaces {CE:Description|Trim}  Red Shoes Red Shoes
Extract text {CE:Description|Extract{^(\w+)|$1}} Red Shoes Red
Remove text {CE:Description|Remove{Red}} Red Shoes  Shoes
Take left section of text {CE:Description|Left{5}} Red Shoes Red S
Take right section of text {CE:Description|Right{5}} Red Shoes Shoes
Ellipsize text {CE:Description|Ellipsize{6}} Red Shoes Red S…
Wordwrap text {CE:Description|Wordwrap{6}} Red Shoes Red
Round number {CE:DiscountRate|Round{1}} 22.48 22.5
Round number to ceiling (up) {CE:DiscountRate|RoundCeiling} 8.46 9
Round number to floor (down) {CE:DiscountRate|RoundFloor} 2.96 2
Multiply number {MY:Weight|Multiply{1000}} 0.125 125
Divide number {MY:Weight|Divide{1000}} 12740 12.74
NB: while {CE:Description} is used in the example above, these tags work for many other attributes, such as Merchant product number and EAN/GTIN. Only ChannelEngine's currency attributes, such as price and date attributes, cannot be altered using replacement tags.

It is also possible to chain multiple actions together. The output of the previous action is then used as the input for the next action.

E.g.:

  1. Replacement tag {CE:Description|Replace{shoes|sneakers}|ToUpper}
  2. Take ChannelEngine Description → New red shoes
  3. Replace shoes with sneakers → New red sneakers
  4. Convert to uppercase → NEW RED SNEAKERS

A detailed explanation of the main actions available can be seen below:

  • ToTitle - transforms the inputted text to title case. Unlike ToLower and ToUpper, it only capitalizes the first letter of each word – which is useful for titles. If you input 'red shoes', it converts it to 'Red Shoes'. Note that any word in all capitals is considered an acronym, therefore it is not converted. If the description value is 'RED SHOES', {CE:Description|ToTitle} still outputs RED SHOES. In these cases, consider chaining it with ToLower first using ({CE:Description|ToLower|ToTitle}).
  • ToEan13 - converts any valid EAN input to the EAN13 format. 12-digit EANs receive a 0 as a prefix, 14-digit EANs that start with a 0 have it removed. If you submit an invalid EAN, the output is empty, so only use this replacement tag on a valid EAN input. Note that you could use this to significantly change the EAN of a product, which may have consequences if you have offers online.
  • ChannelEngine back-end: EAN to EAN13

  • Extract - extracts the text section that complies with the regular expression used. {CE:Description|Extract{^(\w+)|$1}}, for example, extracts the first word of the Description field.
  • NB: extracting and altering text requires knowledge of regular expressions. Every capture group is represented by a dollar sign ($) and the number of the group. This allows you to place the extracted values in an adjusted order. To create and test regular expressions, check out RegExr.
  • Remove - removes all the occurrences of the specified parameters. It can be used to remove specific, disallowed words from descriptions for marketplaces. However, as this may result in incorrect or odd sentences, it is preferred to alter texts in the source system.
  • Left - breaks the text at a set number of characters, submitted between brackets – starting from the left-hand side of the input. While the use of this option is not advised, it can be used to create short descriptions with a maximum number of characters you might not have as a separate attribute.
  • Right - breaks the text at a set number of characters, submitted between brackets, starting from the right-hand side of the input. While the use of this option is not advised, it can be used to create short descriptions with a maximum number of characters you might not have as a separate attribute.
  • Ellipsize - breaks the text at a set number of characters, submitted between brackets, and adds an ellipsis (...) at its end to make clear that the text has been cut off. While the use of this option is not advised, it can be used to create short descriptions with a maximum number of characters you might not have as a separate attribute.
  • Wordwrap - breaks the text at a set number of characters, submitted between the brackets, and breaks the text at the last white space (thus word) – before reaching the maximum number of characters. It can be used to shorten long titles or short descriptions, for which most marketplaces have fixed character limits.
  • Round - rounds any numeric value with the number of decimals you provide between brackets, with a maximum of 2 decimal points. E.g.: if you input 4, the output is still 2 decimals points. Note that if the value is ambiguous (e.g.: .5), it is rounded up. So {CE:DiscountRate|Round{0}} with a DiscountRate of 22.50 results in 23 as the output.
  • RoundCeiling - rounds up any numeric value to the nearest integer that is equal or higher than the input. E.g.: if you have 2.11 as the input and apply RoundCeiling to it, the output is 3.
  • RoundFloor - rounds down any numeric value to the nearest integer that is equal or lower than the input. E.g.: if you have 2.99 as the input and apply RoundFloor to it, the output is 2.
  • Multiply - multiplies a numeric value with a numeric input (whole numbers only!), submitted between brackets. E.g.: if you have 1.125 as the input and apply Multiply{1000} to it, the output is 1,125. The maximum input value allowed is 1,000,000, and any out-of-bounds or non-numeric value results in the input returning unchanged.
  • Divide - divides a numeric value with a numeric input (whole numbers only!), submitted between the brackets. E.g.: if you have 12,500 as the input and apply Divide{2000} to it, the output is 6.25. The maximum input value allowed is 1,000,000, and any out-of-bounds or non-numeric value results in the input returning unchanged.
  • NB: by default, when using multiply or divide all precision (i.e.: values behind the separator) is kept. If you want to have the output of a whole number, for example, you can chain it with the Round operation. E.g.: Weight = 12,345, {MY:Weight|Divide{10000}|Round{1}} outputs 1.2 instead of 1.2345.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.