To best illustrate the purpose of Internal Fields let’s go through a few usage examples.
Problem: John sells apparel products and sends his products to three different shopping channels. He wants to add the field color to all three channels.
The problem is that he doesn’t have a separate field for color in his source.
However, color of each product is mentioned in the product titles.
Solution: John can create an internal field called ProductColor and map it by extracting color from titles, like this:
Now when he goes to the channel mappings he can simply map color from the internal field ProductColor:
This way Johns saves a lot of time, as he doesn’t have to build this complex mapping logic for each channel separately.
Moreover, if John needs to update the mapping logic, for example by extracting a new color from the title, he will do it only once for the internal fields Product Color, and the change will be automatically reflected in all the channels using this internal field.
Problem: Marta sells kitchen appliances and sends her products to five different channels. All of those channels require product titles.
The titles Marta pulls from the source are not very well optimized and they do not include the product type (e.g. Bosch - 800 Series 24" Bar Handle). However, Marta has a separate field for product type which she could use.
Solution: Marta can create an internal field EnhancedTitle and map it by combining title and product type from the source like this:
Next she can use this internal field to map the title in all five channels:
Now, whenever Marta decides to adjust the title field, for example by adding color or material, all she needs to do is change the mapping of the EnhancedTitle internal field and the titles will be updated accordingly everywhere.
Problem: Eddy has a snowboard shop and sends his products to ten different channels. Since it is summer and business is slow he decided to put his products on a 20% discount.
In his source feed Eddy has one field for price with no discount called ProductPrice, and a separate field for discount called Discount.
However the channels require a single sale price that includes the discount.
Solution: Eddy can create an internal field SalePrice by multiplying ProductPrice by Discount like this:
Now Eddy can use internal field SalePrice to map sale price: