Skip to main content
This guide shows you how to prepare customer data, order history, tags, and metafields in bulk with Matrixify, then set up subscription plans and recurring billing with Appfox Subscriptions. This two-tool workflow is useful whether you’re migrating from another subscription app or setting up subscriptions on an existing Shopify store.

What each tool handles

Matrixify handles bulk data operations:
  • Customer imports and exports
  • Order history imports
  • Bulk tags for customer segmentation
  • Product and customer metafields
Appfox Subscriptions handles subscription operations:
  • Subscription plans and selling plan groups
  • Customer portal (pause, skip, swap products)
  • Recurring billing and dunning
  • White-glove migration from Recharge, Appstle, Seal, and Subscription Plus
Install Appfox Subscriptions from the Shopify App Store before you start.

Before you start

Make sure you have:
  • Admin access to your Shopify store
  • Matrixify installed from the Shopify App Store
  • Export or inventory of current subscription customers (if migrating from another app)
  • A tagging scheme planned for subscriber segments (examples: subscriber, migrating-to-appfox)
If you’re migrating from Recharge, Appstle, Seal, or Subscription Plus, consider booking Appfox white-glove migration after completing bulk data preparation with Matrixify.

Step 1: Import customers in bulk

Matrixify lets you import or export customer data in bulk using Excel or CSV files.

Why this matters

Subscription plans and the customer portal need accurate customer records with correct email addresses, tags, and shipping addresses.

How to do it

1

Export existing customers

If you already have customers in Shopify, export them from Matrixify to get the correct column format. Otherwise, download the Matrixify Customers template.
2

Prepare your customer data

Format your customer data with these required columns:
  • Email (customer identifier)
  • First Name and Last Name
  • Address columns for shipping
  • Tags for segmentation
  • Tags Command (set to MERGE to add tags without overwriting existing ones)
3

Import the file

In Matrixify, go to Home, then Import. Upload your Excel or CSV file. Matrixify will detect the sheet as “Customers” based on the column headers.
4

Run a dry-run first

Before importing live data, test with a small batch or use Matrixify’s preview to catch any formatting issues.
Do not import or manage the Active Subscriber tag with Matrixify. Appfox automatically adds this tag when a subscription is created or resumed, and removes it when paused or cancelled. Use your own migration labels instead (e.g., migrating-to-appfox) with the MERGE command.

Matrixify documentation

Step 2: Import order history (optional)

If you need historical order context for support or reporting, import past orders with Matrixify.

Why this matters

Order history provides context for customer support and helps with certain migration workflows. However, it’s optional — you can skip this step if you don’t need historical orders in Shopify.

How to do it

1

Prepare your orders file

Use the Orders sheet format with columns like:
  • Name (order number)
  • Customer: Email (links the order to a customer)
  • Line: Title, Line: Quantity, Line: Price (line item details)
  • Products must already exist in your Shopify catalog if you’re linking orders to store products
2

Import orders

Upload your Orders file to Matrixify. Set the Command column to NEW for new orders or MERGE to update existing ones.
3

Check for API limits

Note that Shopify API limits apply to what can be written on closed orders. Matrixify follows these limits, so some order fields may be read-only after orders are finalized.
Importing a large number of orders can take time. Use Matrixify’s export feature to verify the import completed successfully.

Matrixify documentation

Step 3: Add tags and metafields for segmentation

Use bulk tags and metafields to power segmentation, Shopify Flow automations, and theme logic for active subscribers.

Why this matters

Tags and metafields let you:
  • Gate content or collections for subscribers only
  • Build customer segments for email marketing (Klaviyo, Omnisend, etc.)
  • Trigger Shopify Flow automations based on subscriber status
  • Display custom content or pricing on your storefront

How to do it

1

Plan your tagging scheme

Decide what tags you need for your workflows. Examples:
  • subscriber — General subscriber tag (your own; not the automatic “Active Subscriber” tag)
  • migrating-to-appfox — Temporary migration label
  • vip-subscriber — For high-value customers
2

Use Tags Command: MERGE

Always set the Tags Command column to MERGE when adding migration tags. This appends your tags to any existing ones without overwriting marketing tags or the automatic Active Subscriber tag managed by Appfox.
3

Add tags in bulk

Export customers or products from Matrixify, add your tags to the Tags column, set Tags Command to MERGE, and re-import the file.
4

Import metafields (optional)

If you need custom metafields (e.g., subscriber tier, renewal date, custom preferences), add them using the Metafield: namespace.key [type] column format. See the Matrixify metafields guide for details.
Do not use REPLACE for the Tags Command unless you intentionally want to delete all existing tags. REPLACE will wipe out marketing tags, Shopify Flow tags, and other existing labels.

Matrixify documentation

Step 4: Install and configure Appfox

Once your bulk data is ready, set up subscription plans and the customer portal in Appfox.

Create subscription plans

1

Go to Plans

In Appfox Subscriptions, click Plans, then Create Subscription Plan.
2

Configure your plan

Choose products, set billing frequency (e.g., every 30 days), and configure discounts. You can create multiple plans for different products or billing intervals.
3

Enable the subscription widget

Go to Storefront → Widget and customize the widget appearance. Then add the Subscription Widget app block to your product page in the Shopify theme editor.
See the Getting started guide and Plans documentation for full setup instructions.

Set up the customer portal

The customer portal lets subscribers pause, skip, swap products, and reschedule deliveries without contacting support. Go to Storefront → Customer Portal to customize the self-service options. See the Customer Portal documentation for details.

Optional: White-glove migration

If you’re migrating from Recharge, Appstle, Seal, or Subscription Plus, you can request white-glove migration assistance. This service moves live subscription contracts from your previous app to Appfox, preserving billing schedules and customer payment methods where possible. Go to Settings → Import & migration or see the Import & migration documentation for details.

Order of operations

Follow this sequence for best results:
  1. Matrixify: Customers — Import or update customer records, addresses, and initial tags
  2. Matrixify: Orders (optional) — Import historical orders if needed for context
  3. Matrixify: Tags & metafields — Add segmentation tags and custom metafields for subscriber workflows
  4. Appfox: Selling plans — Create subscription plans and enable the widget on product pages
  5. Appfox: Customer portal — Configure self-service portal options
  6. Optional: White-glove migration — Request Appfox migration assistance if moving from Recharge, Appstle, Seal, or Subscription Plus
  7. Validate — Test that a customer can subscribe, manage their subscription in the portal, and that tags appear correctly in Shopify Admin
After completing setup, place a test subscription order and verify that the Active Subscriber tag is applied automatically. Then pause or cancel the test subscription and confirm the tag is removed.

Common pitfalls

Avoid these mistakes when migrating with Matrixify:

Expecting Matrixify to create subscription contracts

Issue: Matrixify cannot create Appfox or Shopify subscription contracts directly. It handles bulk Shopify data (customers, orders, tags, metafields) but not subscription-specific objects like selling plans or subscription contracts. Solution: Use Matrixify for data prep, then use Appfox to create and manage subscription plans and recurring billing.

Using REPLACE for Tags Command

Issue: Setting Tags Command to REPLACE deletes all existing tags and replaces them with only the tags in your import file. This wipes out marketing tags, Shopify Flow tags, and the automatic Active Subscriber tag. Solution: Always use MERGE to add new tags without overwriting existing ones. Use REPLACE only when you intentionally want to reset all tags for a customer or product.

Importing orders without matching products or customers

Issue: If you import orders with line items that reference products or customers that don’t exist in Shopify, the import will fail or create incomplete orders. Solution: Import customers first, then import or create products in Shopify, then import orders that reference those customers and products.

Skipping the dry-run

Issue: Importing large files without testing can lead to errors, duplicate data, or unexpected tag behavior. Solution: Always test your import with a small batch first. Use Matrixify’s preview and check the Import Results file after the import completes to verify success.

Managing the Active Subscriber tag manually

Issue: Importing or editing the Active Subscriber tag with Matrixify can cause it to go out of sync with the actual subscription status. Solution: Let Appfox manage the Active Subscriber tag automatically. Use your own custom tags (e.g., migrating-to-appfox, vip-subscriber) for migration labels and segmentation.

When to contact support

Matrixify support

For bulk import/export issues, template questions, or dry-run errors, contact Matrixify: Email: support@matrixify.app

Appfox support

For subscription plans, customer portal setup, white-glove migration, or recurring billing issues, contact Appfox: Email: support@getappfox.com

Matrixify

Appfox Subscriptions