POD store with large quantity of products / Printful connecting products to variations (merge)

Hi all,

I’d like to start this right from the beginning and not have regrets down the road.

What’s the best way to handle creating a large Print On Demand store? Meaning, let’s say I have a database of designs that I’d like to launch on a variety of print on demand products. The design would be the product and each design would have a few variations which would be the linked print on demand product. For example, a cat doodle, available on your choice of : mug / pillow / blanket.

The product template would generally be the same but I don’t want to find myself "stuck " in a few months after putting in a bunch of work.

Currently, with Printful, I found a weird manual workaround to do this. I’d have to make the variants in Shopify first then add the products to the variants in Printful. It’s a bit tedious and I’m planning on having at the least hundreds of products if not eventually, thousands.

There must be ways to do this at scale programmatically no? Should I be looking at different Print On Demand providers?

I also don’t want to be stuck later on with 1000 products and then launch a new ‘variant’ maybe I’d like to add tote bags to that design and have it as a variant option and find myself in some nightmare scenario where that would be impossible and break everything.

Is there apps for this or developers that are familiar with such setups? It’s about the ability to programmatically control thousands of products, possibly easily create lots of products based on templates, making different variants different POD products, and ensuring connections between the supplier and site are not messed up during product updates with these strange manual workarounds to connect products to variants.

Any thoughts anyone?

Hi Daboss,

You can create products and variants relatively easily with the productCreate and productVariantsBulkCreate mutations and then work with the Printful API to sync products. Since Printful has an API it should be possible to achieve what you want programmatically and at scale.