How to Use the Product and Variant CSV Templates
This article explains how to use the standard Product and Variant CSV templates to upload offerings to the Odyssey Marketplace. These templates ensure your listings display correctly and allow you to include multiple options for a single product or service.
Understanding Variants
Variants let you offer flexible options within one product or service listing. This may include physical variations such as color, size, or material, or service-based options like age range, duration, or package size.
Each variant connects to a main, or “parent,” offering. The parent must be uploaded first and set as variable before variants can be added.
Step 1: Download the Templates
In your Offerings tab, you’ll find two templates:
Products Template – Used to upload new parent offerings
Variants Template – Used to add or update variants for those offerings
If you plan to offer variants, download both templates.
Step 2: Complete the Standard CSV Template
The standard Products Template file creates your parent offering. All column names must remain exactly as shown in the template.
Key Fields
marketplace_type – Enter Product or Service.
product_name – Public title shown in the Marketplace (for example, “1-Month Virtual Reading Tutoring”).
product_sku – Unique identifier for each offering (max 100 characters).
external_url – Optional. A link to your business website or product page.
category_1 – Required for all states. For Iowa, also complete category_2 and category_3.
offering_details – Required. Describe what the customer is purchasing, including session details for services.
min_grade / max_grade, min_age / max_age, edu_level – Optional. Defines the grade, age, or level range.
price – Required. The total cost (max $999,999.99).
quantity – Required. Number of products or service sessions available (max 999,999).
status – Required. Set to “In Stock” for active listings.
is_variable – Enter 1 if you plan to add variants, or 0 if not.
video_url – Optional. Add a related video link.
imgs – Required. Image URLs, separated by semicolons if multiple.
Once your file is complete, go to the Offerings tab and select Upload CSV to create your offerings. The parent must be uploaded before you can upload any variants.
Step 3: Complete the Variant Template
Use the Variant Template to add or update variants for an existing parent offering.
Format Overview
The Variant CSV must include six columns in the exact order below:
variant_sku, variant_cost, variant_quantity, offer_sku, key_name, key_value
Important Rules
The parent product must exist first, with is_variable = 1.
If the variant_sku already exists, it will be updated instead of duplicated.
All six fields are required.
Field Details
variant_sku – Unique identifier for the variant (max 100 characters). Example:
blue-tablet-2024.variant_cost – Price of the specific variant (max $999,999.99). Shipping may be included.
variant_quantity – Quantity available for the variant (max 999,999).
offer_sku – The SKU of the parent offering that this variant belongs to.
key_name – The name of the attribute (for example, “Color” or “Size”). Max 255 characters.
key_value – The specific value of that attribute (for example, “Blue” or “Large”). Max 255 characters.
After completing the Variant CSV, go to the Offerings tab and use Upload CSV to add or update your variants.
Best Practices
Always upload your parent CSV before uploading the Variant CSV.
Keep all SKUs unique across both files.
Do not edit or rename column headers.
Save your CSV in UTF-8 format to prevent upload errors.
Separate multiple image URLs with a semicolon (;).
Test your upload with a few sample rows before submitting a full list.