Importing schedules by CSV
Please note: this is currently in beta mode and only available to a select number of merchants.
The CSV import feature allows you to create multiple schedules in bulk by uploading a properly formatted CSV file. This guide explains how to format your CSV file and use each column effectively.
Access the CSV import functionality by clicking the button in the header of either the dashboard or schedule listing screens:
Quick Start
- Download the template: Click "Download template" in the import dialog to get a properly formatted CSV file or use the template here
- Fill in your data: Edit the template with your schedule information
- Upload: Select your completed CSV file to import
If your CSV file contains errors, the import tool will tell you what the issues are on the validate screen:
Update your CSV file to fix the errors and then click Fix and re-upload to re-upload your file.
File Requirements
- Format: CSV (.csv) files only
- Size: Maximum 5MB
- Encoding: UTF-8 recommended
- Separator: Comma (,)
Column Reference
name
Required
- Purpose: The name of your schedule
- Format: Text string
- Example: "Black Friday Discount", "Weekend Sale"
type_id
Required
- Purpose: Defines the type of schedule
- Options:
1
= Discount Schedule2
= Price Increase Schedule3
= Publish/Unpublish Schedule4
= Tag Management Schedule
- Example:
1
for a discount schedule
Date & Time Columns
Required
start_date
- Purpose: When the schedule should begin
- Format: YYYY-MM-DD
- Example:
2024-12-25
start_time
Required
- Purpose: Time when the schedule should begin
- Format: HH:MM (24-hour format)
- Example:
14:30
for 2:30 PM
end_enabled
Required
- Purpose: Whether the schedule should have an end date
- Options:
1
= Schedule has an end date0
or empty = Schedule runs indefinitely
- Example:
1
end_date
Required if end_enabled = 1
- Purpose: When the schedule should end (only if
end_enabled
is 1) - Format: YYYY-MM-DD
- Example:
2024-12-31
end_time
Required if end_enabled = 1
- Purpose: Time when the schedule should end
- Format: HH:MM or HH:MM:SS
- Example:
23:59
Discount-Specific Columns (for type_id
= 1)
discount_type
Required if type_id = 1
- Purpose: Type of discount to apply
- Options:
1
= Percentage discount2
= Fixed amount discount
- Example:
1
for 20% off
amount
Required if type_id = 1 or 2
- Purpose: The discount or price increase amount
- Format:
- For percentage: Number between 0-100 (e.g.,
20
for 20%) - For fixed amount: currency amount (e.g.,
10.50
for $10.50 off)
- For percentage: Number between 0-100 (e.g.,
- Example:
25
for 25% off
rounding
Required if type_id = 1 or 2 and discount_type = 1
- Purpose: How to round prices
- Options:
0
= Don't round1
= Round up2
= Round down3
= Round to nearest decimal (use withrounding_decimal
)4
= Round to nearest whole number
- Example:
3
rounding_decimal
Required if rounding = 3
- Purpose: Decimal place to round to (when
rounding
= 3) - Format: Decimal number
- Example:
0.99
to round to .99 endings
compare_at_price
- Purpose: Whether to set compare-at price
- Options:
1
= Set compare-at price to original price0
or empty = Don't set compare-at price
- Example:
1
Publish/Unpublish Columns (for type_id
= 3)
first_action
Required if type_id = 3
- Purpose: The action to perform on the start date/time
- Options:
1
= Publish products2
= Unpublish products
- Example:
1
archived
- Purpose: Include archived products
- Options:
1
= Yes,0
= No
draft
- Purpose: Include draft products
- Options:
1
= Yes,0
= No
online_store
- Purpose: Publish to online store
- Options:
1
= Yes,0
= No
unpublish_action
Required if type_id = 3 and one of the actions is to unpublish
- Purpose: Action when unpublishing
- Options:
1
= Set products to draft2
= Set products to archived
- Example:
1
to set products to draft when unpublishing
Tag Management Columns
tag_action
- Purpose: What to do with tags specified in the
tags
column - Options:
1
= Add tags2
= Remove tags
- Example:
1
= Tags will be added to products on start date/time and then removed on end date/time (if there is one)
tags
Required if tag_action = 1 or 2
- Purpose: Tags to add or remove
- Format: Comma-separated list
- Example:
sale,featured,clearance
Entity Selection Columns
entity_type
Required
- Purpose: What type of products to target
- Options:
1
= Specific products by Product ID (useproducts
column)2
= Products in collections by Collection ID (usecollections
column)3
= Products by tags (useproduct_tags
column)4
= Products by vendor (useproduct_vendors
column)5
= Specific products by SKU (useproducts
column)
- Example:
3
= products will be selected by the SKUs in the products column
products
Required if entity_type = 1 or 3
- Purpose: Specific product ID or SKU to be targeted by the schedule
- Format: Single product ID or SKU
- Example:
12345
ormy-product-sku
- Note: For multiple products, create separate rows with all other columns empty
collections
Required if entity_type = 2
- Purpose: Collection ID to be targeted by the schedule
- Format: Single collection ID
- Example:
123456789
- Note: For multiple collections, create separate rows with all other columns empty
product_tags
Required if entity_type = 2
- Purpose: Include products with these tags
- Format: Comma-separated list of tags to filter by
- Example:
summer,sale,featured
- Note: Use when
entity_type
= 5. This affects all products with ANY of these tags.
product_vendors
Required if entity_type = 4
- Purpose: Include products from these vendors
- Format: Comma-separated list of vendor names
- Example:
Acme Corp,Best Products Ltd
- Note: Use when
entity_type
= 4. This affects all products from ANY of these vendors.
Additional Columns
countdown_timer
- Purpose: Enable countdown timer
- Options:
1
= Enable,0
= Disable - Example:
1
= show countdown timer for the products in this schedule during the schedule's duration.