Non-Shopify Subscription Import Data Template

Migration data templates

In order to migrate from a non-Shopify platform we'll need the subscription data from your previous platform. Below are definitions of the fields that you'll find in the migration data templates. We'll need the data in CSV format. There are 2 templates to fill out: Customer and Subscription Data.


Here are the templates for you to download as well as examples:


Customer Data

  • shopify_customer_id: Shopify Customer ID* (must be unique)
  • email: Shopify Customer email address* (must be unique)
  • first_name: Customer first name*
  • last_name: Customer last name
  • stripe_customer_id: ID of customer in Stripe if payment method is being imported from Stripe
  • stripe_payment_method_id: ID of customer's payment method to import. If provided, you must also provide stripe_customer_id

Subscription Data

  • subscription_id: Subscription ID* (must be unique)
  • status: Subscription status* (ACTIVE or PAUSED)
  • shopify_customer_id: Shopify Customer ID*
  • customer_email: Shopify Customer email address*
  • price: Unit price of the item*
    • IMPORTANT This is the unit price - it will be multiplied by quantity.
    • If this is a prepaid line then the price should be the full prepaid cost
  • currency_code: Currency code of the subscription*
  • quantity: Quantity of the line*
  • frequency_unit: Frequency unit* (DAY, MONTH, YEAR)
  • frequency_value: Number of frequency_units between orders*
  • is_digital_product: If true, total_shipping and shipping_address fields are not required (true or false)
  • total_shipping: Total cost of shipping (currency will be the same as price)**
  • shipping_first_name: First name of shipping address**
  • shipping_last_name: Last name of shipping address**
  • shipping_address1: First line of shipping address**
  • shipping_address2: Second line of shipping address
  • shipping_city: City of shipping address**
  • shipping_province_code: The code for the region of the address, such as the province, state, or district. For example QC for Quebec, Canada**
  • shipping_zip: Zipcode of shipping address**
  • shipping_country_code: The two-letter code for the country of the address (ISO 3166 A-2)**
  • shipping_company: Company of shipping address
  • shipping_phone: Phone number of shipping address
  • next_billing_date: ISO Formatted date string* (ex: 2024-01-01)
  • shopify_variant_id: Shopify variant ID*
    • please note: we need the variant id not the product id. If you have multiple variants of a product you can follow Shopify's guide on getting the variant id. Otherwise open the product in the Shopify dashboard and then add .json to the end of the URL. Then look for the variants field and grab the id from the only variant listed.
  • created_at: ISO formatted date string of when the subscription was created
    • if not provided we'll use the day of the migration
  • shopify_discount_code: A discount code to apply to the subscription. Must be a discount code that was created in Shopify and is applicable to this subscription
  • note: Internal note for subscription (each line of the same subscription should have the same note)
  • is_prepaid: true if the line is prepaid
  • prepaid_orders_count: Number of orders that the customer prepaid for (only if prepaid is true)
  • prepaid_successful_billings: Number of prepaid orders that the customer has already received. Should be 0 if the prepaid subscription is due for a renewal
  • auto_renew: Only filled out if prepaid is true. Set auto_renew to true if the prepaid subscription renews at the end of its prepaid orders and false if it should expire
  • selling_plan_gid: The selling plan to attach to this subscription. Make sure that it's the full GID (ex: gid://shopify/SellingPlan/12345678)

  • properties: A parsable JSON string of objects containing two fields key and value (ex: [{"key":"foo","value":"bar"}]). These will become the subscription line's customAttributes.

* require field

** required field if is_digital_productis false