Skip to content

Product Data Feed#


The provisioning file installs and configures everything needed to generate a structured product feed directly from your Miva store. Two formats are available — XML and CSV — both built on the Google Merchant Center product data standard, which is also accepted by Meta Commerce Manager, TikTok Shop, and other major shopping channels.

Each provisioning file sets up:

  1. Custom field group and product/page custom fields for feed-specific attributes
  2. Product Data Fields and Feeds module
  3. Product Data Field definition and trigger for staging feed data
  4. Product Data Feed definition generating the XML or CSV output file
  5. Scheduled tasks automating data generation and feed creation
  6. Product import definition for bulk CSV updates of feed fields

Tip

Both formats share the same custom fields (pf_*). If you install both, the custom fields only need to be created once.


Download#

Format Provisioning File
XML Feed product_feed_import.xml
CSV Feed product_feed_import.xml

Prerequisites#

  • Access to Data Management
  • The product_feed_import.xml provisioning file (XML version, CSV version, or both)
  • Store using the custom fields module

Step 1: Import#

  1. Log into the Miva admin
  2. Navigate to Data Management
  3. Locate the XML Provisioning Format import option
  4. Find and run product_feed_import.xml

Note

The following warnings on first import are expected and safe to ignore. The exact messages will reflect whether you are importing the XML or CSV version:

  • ProductDataField_Delete: [field code] not found
  • Feed_Delete: [feed code] does not exist
  • ScheduledTask_Delete: [task name] does not exist (appears twice)

Step 2: Review Custom Fields#

After import, the following custom fields are created under the Product Feed: Custom Fields group and are shared across both formats.

Product-level fields:

Code Name Type Purpose
pf_ignore_product Product Feed: Ignore Product Checkbox Excludes product/variant from the feed
pf_google_product_category Product Feed: Google Product Category Textfield Full taxonomy path or numeric ID
pf_custom_title Product Feed: Custom Title Textfield Optional feed title override
pf_custom_descrip Product Feed: Custom Description Textarea Optional feed description override
pf_brand Product Feed: Brand Textfield Brand name (defaults to store name if blank)
pf_gtin Product Feed: GTIN Textfield UPC/EAN/ISBN — digits only
pf_product_type Product Feed: Product Type Textfield Internal product hierarchy
pf_material Product Feed: Material Textfield Primary material composition
pf_size Product Feed: Size Textfield Size value if no size attribute exists

Page-level field:

Code Name Type Purpose
pf_default_google_product_category Product Feed: Default Google Product Category Textfield Fallback category when no product-level category is set

Step 3: Set the Default Product Category#

The default category is pre-set to “Apparel & Accessories > Clothing”. Update this to match your store’s primary product type.

  1. Go to User Interface > Pages
  2. Search for the page code for your format:
    • XML: PRODUCTDATAFIELD_product_xml_fields
    • CSV: PRODUCTDATAFIELD_product_csv_fields
  3. Select the Custom Fields tab
  4. Update the Product Feed: Default Google Product Category field
  5. Save the page

Category selection logic: uses the product/variant-level pf_google_product_category if set, otherwise falls back to the page-level pf_default_google_product_category.

Tip

Google, Meta, and TikTok Shop all support Google’s product taxonomy for product categorization. Setting accurate categories improves feed approval and ad performance across all platforms.


Step 4: Data Field & Feed#

The two formats use parallel configurations with format-specific codes. Both queue regeneration on: product changes, attributes, images, variants, inventory, price groups, categories, and URI modifications.

Product Data Field

Setting XML CSV
Code product_xml_fields product_csv_fields
Name Product Feed Fields (XML) Product CSV Fields
Public Yes Yes
Trigger product_xml_fields_trigger product_csv_fields_trigger

Feed Definition

Setting XML CSV
Code product_xml_feed product_csv_feed
Name Product XML Feed Product CSV Feed
Module productdata productdata
File Location script directory script directory
File Name /product_feed.xml /product_feed.csv
Feed URL https://your-store-domain/product_feed.xml https://your-store-domain/product_feed.csv

Step 5: Scheduled Tasks#

Each format uses two tasks that run in sequence — a data generation task that triggers a feed output task on completion.

Task 1 — Data Fields Generation

Setting XML CSV
Description Product Data Fields (XML) Product Data Fields (CSV)
Module productdata productdata
Operation generate generate
Trigger product_xml_fields_trigger product_csv_fields_trigger
Field product_xml_fields product_csv_fields
Generation queued queued
Completion trigger product_xml_feed_trigger product_csv_feed_trigger

Task 2 — Feed Output

Setting XML CSV
Description Product XML Feed Product CSV Feed
Module stdschtasks stdschtasks
Operation feed feed
Trigger product_xml_feed_trigger product_csv_feed_trigger
Feed product_xml_feed product_csv_feed

Both tasks default to Manual run interval. Task 2 fires automatically when Task 1 completes.

To regenerate all products (initial run or full refresh):

  1. Go to Settings > Scheduled Tasks
  2. Edit the Product Data Fields task for your format
  3. Change Generation to All Products
  4. Save and Run
  5. After completion, verify results
  6. Change Generation back to Queued Products

Step 6: Bulk Data Update via CSV#

A product import definition is included for bulk-updating feed fields across all products.

Import Definition Settings:

Setting Value
Module productimport
Description Product Data Import
Delimiter Comma
Header Required
Product handling Products=update
Custom Fields handling CustomFields=retain

CSV column mapping:

code
custom-customfields-pf_google_product_category
custom-customfields-pf_custom_title
custom-customfields-pf_custom_descrip
custom-customfields-pf_brand
custom-customfields-pf_gtin
custom-customfields-pf_product_type
custom-customfields-pf_material
custom-customfields-pf_size
custom-customfields-pf_ignore_product

Sample CSV:

code,custom-customfields-pf_google_product_category,custom-customfields-pf_custom_title,custom-customfields-pf_custom_descrip,custom-customfields-pf_brand,custom-customfields-pf_gtin,custom-customfields-pf_product_type,custom-customfields-pf_material,custom-customfields-pf_size,custom-customfields-pf_ignore_product
TSHIRT001,Apparel & Accessories > Clothing > Shirts,Classic Logo Tee,A premium cotton t-shirt with our classic logo.,Store Brand,1234567890123,Apparel & Accessories > Shirts,100% Cotton,Large,0
TSHIRT002,Apparel & Accessories > Clothing > Shirts,,,Store Brand,1234567890124,Apparel & Accessories > Shirts,100% Cotton,Medium,0
DISCONTINUED01,,,,,,,,,,1

Note

  • code is the Miva product code
  • pf_ignore_product uses 0 (include) or 1 (exclude)
  • Omit unused columns but always include the header row

Running the import:

  1. Go to Data Management > Import > Products
  2. Select the Product Data Import definition
  3. Upload your CSV file and review the log for errors
  4. Run the Product Data Fields scheduled task to regenerate — the feed task fires automatically

Step 7: Verify the Feed#

Open your feed URL in a browser and confirm:

  • XML (/product_feed.xml): loads without errors, products show expected titles, descriptions, prices, and categories
  • CSV (/product_feed.csv): rows are present and data looks correct

For both formats also confirm that ignored products do not appear and variants show correct images, GTINs, sizes, and item group IDs.

If the feed is empty:

  • Verify products are active with inventory and images
  • Confirm pf_ignore_product is unchecked
  • Check that scheduled tasks completed without errors

Step 8: Connect to a Shopping Channel#

Submit either feed URL to any platform that accepts a URL-based product feed import. All platforms listed below accept both formats via scheduled or manual fetch.

Platform Input Method
Google Merchant Center Products > Feeds — Scheduled fetch or URL fetch
Meta Commerce Manager Commerce Manager — Data feed, scheduled URL fetch
TikTok Shop Catalog Manager — URL feed upload

Set the fetch frequency to match your scheduled task interval (e.g., daily). After the first crawl, resolve any platform-specific diagnostics such as missing GTINs, mismatched prices, or invalid categories.


Troubleshooting#

Products missing from feed

  • Confirm the product is Active and not excluded by an availability group
  • Verify pf_ignore_product is unchecked
  • Confirm variants are properly configured with inventory

Incorrect category or brand

  • Check product-level custom fields
  • Verify the page-level default category if the product-level field is blank
  • Brand defaults to the store name when pf_brand is empty

Pricing and stock issues

  • Ensure inventory is active and stock is available
  • Out-of-stock items are flagged accordingly in the feed
  • For products with a minimum quantity greater than 1, verify price calculations match what the platform expects