Products

The information required for products to be sent to Shopify is done through the mandatory fields:

  • title: Product name
  • body_html: Product description
  • sku: Product reference, for Sales Layer’s internal control.
 

Basic fields that appear in the connector by default are not strictly necessary for sending products to Shopify, but they can be useful for managing information:

  • price: Item price, supports decimals.
  • compare_at_price: Corresponds to the product’s previous price. The value in compare_at_price must be higher than the current price. Example: €100 – €75:
    • Send 0 to remove the price comparison (i.e., revert to just the current price).
    • Any number greater than 0 corresponds to the previous price. In this example it would be the €100 shown as crossed out.
  • cost_per_item: The manufacturing or similar cost.
  • taxable: Boolean or text.
    • true|yes: the product is subject to tax (VAT on this product).
    • false|no: the product is tax-exempt.
  • handle: URL identifier. This is the last part of the product-specific URL, used for SEO. If not sent, Shopify will create one by default.
  • seo_title: SEO title.
    • The connector still maintains the field metafields_global_title_tag for backward compatibility, but it is no longer recommended. The recommended method is to use seo_title.
    • Do not map both metafields_global_title_tag and seo_title at the same time.
  • seo_description: SEO description.
     
    • The connector still maintains the field metafields_global_description_tag for backward compatibility, but it is no longer recommended. The recommended method is to use seo_description.
    • Do not map both metafields_global_description_tag and seo_description at the same time.
  • requires_shipping: Boolean type. True corresponds to a physical product that requires shipping, otherwise false.
  • weight_unit: Dropdown menu of weight units. Allowed units: g, kg, lb, oz.
    • Previously managed in the grams field. It is still supported in the connector for backward compatibility, but no longer recommended.
    • The weight_unit field does not work if the grams field is active.
    • Cannot be mapped with a list-type field. If you want to send it from the same source, it is possible to map it as empty in the connector and apply the formula PRINT(“list_type_field”).
  • weight: Weight field, supports decimals. Only apply if the product is marked as a physical product (requires_shipping). Appears when the previous checkbox is marked.
    • Previously managed in the grams field. It is still supported in the connector for backward compatibility, but no longer recommended.
    • The weight field does not work if the grams field is active.
  • sort_order: Customizes the order of variants. Important: it is mapped at the product level. For more details on configuring this field, check the Variants section.
  • vendor: Corresponds to the supplier of the products for sale.
  • product_type: Product type/attribute set. Each product can only have one product type.
  • template_suffix: The product’s theme/template. You must send one of the existing values, and the themes must be created or purchased in advance from Online Store → Themes. Check more details about management in SL here.
  • country_code_of_origin: Configurable attribute for region or country of origin for customs control. Check the list of possible values in Shopify’s official documentation.
  • province_code_of_origin: Province of origin code according to ISO 3166-2 (example: ES-V, FR-IDF, etc.).
  • harmonized_system_code: Customs tariff code (imports between countries), usually between 6 and 13 digits.
  • country_harmonized_system_codes: Same behavior as the fields country_code_of_origin and harmonized_system_code. These codes can be specialized by country. Field type: table, with the following structure.
 
 
  • status: Product status (V → Visible, D → Draft, I → Invisible). Check the specific rules in the article Status and Visibility.
 

Fields for managing Sales Channels

 

The field published_scope allows managing product availability across different sales channels previously created and enabled in Shopify.

 
 

From Sales Layer, the desired value can be sent by mapping with a list-type field or short text field with options separated by “|”. Otherwise, it is possible to map the field as empty and apply the PRINT formula, for example: PRINT("web|global").

 
 

Accepted options:

  • all: Publishes the product in all defined sales channels in Shopify.
  • web: Publishes the product in the Online Store sales channel.
  • global (default): Publishes the product in the Point of Sale sales channel.
    • Default value if published_scope is not mapped.
    • Default value if published_scope is disabled in the connector.
  • social: Publishes the product in the Facebook & Instagram, Google, and YouTube sales channels.
  • button: Assigns Buy Button.
  • third-party: The connector does not publish or unpublish items in any sales channel. Use this if you don’t want to change sales channel settings or if they are managed externally (from Shopify/external apps).
  • Specific channel name: To publish in a custom sales channel.
  • persist: To manage specific channels from the connector and keep other channels unchanged (as they are in Shopify). For example, if you want the connector to publish in the Online Store channel but not manage the rest, use the formula PRINT("web|persist").
  • No value provided: If the published_scope field is mapped but no value is provided, the connector will unpublish the product from all sales channels.
  • Activation by dates: Allows activating channels on a specific date using the syntax Channel:YYYY-MM-DD. Example: PRINT("Online Store:2025-02-11 | Facebook & Instagram:2025-01-15").
 

Inventory Management (Stock)

 

To manage inventory, the following fields must be considered:

  • inventory_quantity: Stock, depending on location.
  • inventory_policy: Defines whether customers can place orders when the item is out of stock.
  • tracked: To enable inventory tracking (previously inventory_management).

For more details about the configuration of the fields mentioned above, check the Inventory Management section.

 

Media Fields

 

This set of fields collects information about images and files linked to the product:

  • images: Product image. In Sales Layer it is mapped with an image-type field.
  • product_alt: To assign an alt attribute to each product image.
  • media_video: To send videos or 3D images hosted in SL.
  • media_video_alt: Alt attribute for files sent via media_video.
  • media_external: For sending external videos (not hosted in SL).
  • media_external_alt: Alt attribute for files sent via media_external.
  • media_order: Sets the order of the media files sent by the connector.

Check details about the management and configuration of each of these fields in the section Media Fields and Alt Attributes.

 

Markets Fields

 

To work with Markets-related information, you must use table-type fields in the following way:

  • markets: Enables markets for the product.
  • presentment_prices: Indicates prices by market/currency for the product. Provided in a table composed of required and optional information.

Check more details about configuring both fields in the Shopify Markets section.