Many Printfection customers may want to pull orders from a Shopify store into a Printfection Collection Campaign where they can be reviewed and then placed in bulk. This article covers the exact steps of how to do this using Printfection, Shopify, and Zapier.
Why Zapier? Zapier's comprehensive API capabilities makes it the perfect glue between the Printfection and Shopify platforms. We highly recommend Zapier as a tool for every company looking to automate their workflows.
What you'll need
You'll need a Shopify store and admin access, a Printfection account, and a paid Zapier account that supports Shopify (free accounts do not have access to the Shopify platform, paid accounts start at $20/month). You will need access to the Shopify theme editing portal and be comfortable updating HTML templates.
Setting up Printfection
1. Create a Collection Campaign
In Printfection select Campaigns > Collections > + Collection Campaign
Make sure the option to allow External Order Submissions is selected.
Note: If you already have a Collection campaign you're using for orders you can simply use that campaign instead. Just make sure the option for External Order Submissions is turned on from the campaign dashboard.
2. Prep your Collection Campaign
You'll want to update the Settings in your collection campaign to make sure email and packing information is set how you'd like.
3. Go to your item manager
Now you'll want to use the top menu and click Items > + Add Items to Campaign.
From this page you'll now see all of your Printfection items — we'll be using these in a moment when setting up Shopify.
Setting Up Shopify
1. Add products and required ID fields to your store
If you're just setting up your Shopify store you'll want to create a new Shopify product for each item you want to offer from Printfection.
Note: If you already have your products created in Shopify just follow along. You'll need to make sure you update your SKU and Variant Size Title for each product or product variant.
For each product you're offering that has sizes (like a t-shirt) you'll need to add a Variant for each size. When doing this also add an Option to the Variant called Size.
If you need to reference what sizes are offered for a particular product go to Printfection Item Manager from Step 1 and click the Item Details for the item you want to see sizes for.
2. Add Printfection meta-data to each product
In order for orders to be easily moved from Shopify to Printfection you'll need to add some data to your products that Printfection will recognize when each order comes through.
We'll be adding the following information from Printfection to each product in Shopify.
- Printfection Item ID
- Printfection Item Size IDs
Do the following steps for each product you're offering in Shopify:
- Go to the Item Manager in Printfection (that we left open in Step 1) and click Item Details on the item that matches the product you're working with in Shopify.
Copy the Item ID in the top right corner of the page. - Paste this copied Printfection Item ID into the SKU field for the product in Shopify.
This SKU might be on a Size Variant if the product has sizes. In that case, it will look like the image below in Shopify. You will use the same SKU for each size variant. - If the product has sizes go back to the Item Details page in Printfection and this time copy the Size ID for your necessary size.
Note: If the product doesn't have sizes you can skip this and the next step. - Now, you'll want to take your copied Size ID from Printfection and add it to your variant size title in Shopify under the Size option you made in Step 1. Add the Size ID directly after the size label in parenthesis.
When you do this, make sure you format the ID as follows: XS(33216)
It's very important to do the above formatting as that allows the Size ID to be picked up successfully when the order is transferred to Zapier. Your result in Shopify should look like this:
3. Verify your products are set up
You should be pretty much done at this point. Just take a second to make sure every product you're planning to sell has been matched with the right Item ID and Size ID's from Printfection.
Note: If you want you can also add product images from Printfection, just copy the item image URL and add it to each Shopify product.
4. Hiding SizeID from the Shopify product size title
One thing that's a little annoying about this process is that the SizeID reference will show on the customer facing pages of your Shopify store when a user is selecting their product(s).
Because this is an internal only ID the user shouldn't have to see it, or worry about it. We can help fix this by adding some minimal code to your theme. There are multiple solutions for removing the Printfection required SizeID from the product variant size title. We found this to be the most efficient.
1. Go to Your Shopify Theme
Go to Sales Channels > Online Store > Themes
2. Customize Your Theme
Go to the Customize Theme option. In this example, we are using the theme Dawn.
Top-left of your page, click the horizontal 3-dot menu, select "Edit Code".
3. Locate the product variant picker form template code
Under the Snippets folder open the product-variant-options.liquid template. Depending on the Shopify theme, this section may be named differently, or located in another section template.
4. Add 'size_pf' class to product variant picker form
In our example using the Shopify Dawn theme, our product variant label is found on line 62. We will simply add a class declaration with the class selector 'size_pf' to the form label. We will also comment out the logic to fill our variant out of stock messages, since we will be managing these variants manually.
5. Add New Javascript Snippet to the Base Site Layout
The last thing you'll need to do is update your theme.liquid template under the Layout folder.
At the very bottom (before the </script> tag), add this line of code:
Now you're done! Save theme.liquid file and your customers will no longer see the SizeID amendment on your Shopify storefront product size picker.
Set up the Integration in Zapier
Alright, we've arrived at our last step of the integration. At this point we'll be using Zapier to connect Shopify and Printfection so they can send and receive orders automatically. Let's get started!
1. Login to Zapier and Make a New Zap
Login into Zapier and click the orange Make a Zap button at the top of the page.
2. Choose Shopify as Your Trigger Step
You'll want to select Shopify as your Trigger application.
Once that's done, you'll want to select the New Paid Order trigger option. This means this Zap will fire when a new order has been marked as paid in Shopify.
Once you hit continue you'll need to connect your Shopify account to Zapier, just follow the quick on screen instructions.
Once that's completed, Zapier will ask you to test your Shopify integration. Just make sure you've had a recent order in Shopify marked as paid before testing.
3. Add Text Formatter Zap to handle Printfection SizeID
We will add the Formatter by Zapier Action immediately following our Shopify Zap. This is to extract our product variant title sizeID we added to our product variants with sizes. If your Shopify store does not have products with sizes, please ignore this step.
Select Transform > Extract Number
In the input values field, select Line Items Variant Title option from our Shopify Zap data. This will give us our Shopify variant title including the SizeID. When the text formatter action is run, our product SizeID will be extracted for us to send to Printfection.
4. Handle an empty Shopify shipping_province field (optional)
Your Shopify account may not require a shipping state/ province for international addresses. However Printfection does require this field for all addresses. If this is the case for your Shopify account you can get around this differing requirement by using Zapier's javascript Action.
Once you've added this Javascript action configure the Edit Template step like so.
Here's the exact javascript which you can copy & paste into the Code text area.
Click continue to save and move onto the next step.
Note: If you use this Javascript action make sure to specify the variable from this step "Step 2: New Shipping Province" when creating your Printfection action step instead of the "Step 1: Shipping Address Province" shown in the next step.
5. Choose Printfection as Your Action Step
Great, now comes the fun part, you'll be connecting your Shopify order information to Printfection. To get started, select Printfection as your Action step application.
For the part of this step choose the option to Create Collection Order.
6. Map Your Order Template
Alright, good stuff, time to move onto mapping the Shopify order information to our new Printfection Collection order. You'll want to follow the following template guide for this part. Just click the little + button next to each field and choose the following values.
- Campaign:
Choose your campaign from the dropdown. - Name (combine first and last):
Shipping Address First Name
Shipping Address Last Name - Email:
Customer Email - Phone Number:
Shipping Address Phone (required for international addresses) - Address:
Shipping Address Address1 - Address 2:
Shipping Address Address2 - City:
Shipping Address City - State:
Shipping Address Province - Zip / Postal Code:
Shipping Address Zip - Country:
Shipping Country (either full country name or two letter abbreviation) - Item ID:
Line Items Sku - Size ID (from Zapier text formatter):
Output: (SizeID) - Quantity:
Line Items Quantity
Once all your fields have been mapped you can hit continue and test your order. Once tested you should see a new order in your Printfection Collection campaign that matches the order details from Shopify.
Testing Your Workflow
Let's take testing a little further. Go ahead and finalize your Zap by naming it and turning it on.
This new Zap will run in the background every few minutes (5 to 15 depending on your plan level) and grab any new orders that come in from Shopify.
At this point, go ahead and create a new order in Shopify and then Mark it as Paid. In a few minutes Zapier will grab the order details from Shopify and then create a new order with Printfection.
Check your collection campaign (assuming it's been 15 minutes since your order was Marked as Paid) and verify it's there!
If it is, you're all set! Now when orders are placed in Shopify you can go to your Collection campaign, review them, and then approve them for shipping.
Remember, you can always reference our video tutorial: Setting Up a Shopify Integration