You price a T-shirt at $29.99. A customer buys it. You check your bank account a week later and wonder where the money went.
Many beginner print-on-demand sellers hit this exact wall. They picked POD because there’s no inventory risk, no warehouse, no upfront cost for boxes of unsold shirts. And that part is true. But the fees stack up in ways that catch people off guard, and the margin on a single T-shirt sale is a lot thinner than most beginners expect.
You’re not charging too little on purpose. You just set a price before you knew the full cost per sale.
Let me walk through every cost, using real numbers from real providers, so you know exactly what you’re working with before you sell your first shirt.
The blank shirt is only the first cost
Your POD provider charges you a base price that covers the blank garment and one print location (usually the front). This is the cost you pay every time an order comes in, regardless of what you charge your customer.
Here’s what the two biggest providers charge right now for a standard size M T-shirt with a single front print, based on Printful and Printify catalog pricing checked in April 2026:
| Shirt | Printful | Printify (lowest provider) |
|---|---|---|
| Gildan 5000 (budget) | $9.25 | ~$8.80 |
| Bella+Canvas 3001 (mid-range) | $11.69 | around $11.00 |
| Comfort Colors 1717 (premium) | $15.29 | ~$12.41 |
Prices as of April 2026. Printful prices from Printful’s catalog; Printify prices vary by provider. Check Printify’s catalog for current rates.
A few things to notice here.
Printify looks cheaper, and it often is. But Printify works with a network of independent print providers, and the price changes depending on which provider you pick. The cheapest option might ship from a facility across the country from your customer. Printful owns its own fulfillment centers, so the pricing is more consistent but usually a bit higher.
The Gildan 5000 is the budget workhorse. It’s a thick, boxy cotton shirt that gets the job done. The Bella+Canvas 3001 is softer, more fitted, and what most sellers I know actually use because customers notice the difference. Comfort Colors is the premium play, with a garment-dyed look that commands higher prices.
For this walkthrough, I’ll use the Bella+Canvas 3001 on Printful at $11.69. It’s the most common choice for Shopify sellers who want repeat customers.
Shipping is where POD gets annoying
Shipping a single T-shirt within the US through Printful costs $4.75. See Printful’s shipping rates for current retail rates. That’s the standard rate for one item going to a domestic address.
Printify’s shipping varies by provider but lands in the same range, usually $4.25 to $5.00 for US domestic.
International shipping is a different story. Sending that same shirt to the UK or Australia can run $8 to $15 depending on the destination and provider. Some sellers absorb this into their price. Most pass it along to the customer as a shipping charge at checkout.
Here’s the part that trips people up: POD shipping still scales with item count. With Printful, the first T-shirt has a base shipping cost, and additional shirts usually add a smaller extra charge. So bundles can help, but shipping never disappears. This matters when you’re thinking about bundle discounts or free shipping thresholds.
For this example, let’s say the customer is in the US and pays $4.75 for shipping. Some sellers offer free shipping and bake the cost into the retail price. Others charge it separately. Either way, the cost exists.
Shopify’s cut: three separate fees
This is where beginners get surprised. Shopify doesn’t have just one cost layer. For a new store, there are three to understand.
The subscription. The Basic Shopify plan costs $29 per month (billed annually) or $39 per month (billed monthly). See Shopify’s pricing page for current rates. This is a fixed cost you pay whether you sell one shirt or a thousand. At 30 sales a month, that’s roughly $0.97 per sale. At 10 sales a month, it’s $2.90 per sale. The subscription hurts more when you’re starting out and sales are slow.
Payment processing. When a customer pays by credit card through Shopify Payments (the default), Shopify charges 2.9% plus 30 cents per transaction on the Basic plan. On a $29.99 product price, that’s $1.17. On the full $34.74 order used below, it’s about $1.31. This fee applies to the full order amount, including shipping if the customer paid for shipping through your checkout.
The third-party transaction fee. If you use a payment provider other than Shopify Payments, like PayPal or a third-party gateway, Shopify charges an additional 2% on the Basic plan on top of whatever the payment provider charges. Most sellers stick with Shopify Payments to avoid this, but if you need PayPal (and many customers prefer it), you’re paying extra.
For this example, I’ll assume Shopify Payments only, so the payment processing on the full order is about $1.31 and there’s no third-party fee.
The small costs that quietly shrink your margin
Production, shipping, and Shopify fees are the big three. But there are other costs that eat into your margin quietly.
Returns and refunds. A practical planning range for POD returns is 2% to 5% of orders. Some of those are printing defects (the provider’s fault, and they’ll usually reprint). Others are size exchanges or customers who just changed their mind. When you refund a customer, you eat the production cost and often the shipping cost too. A $1.00 to $1.50 buffer per sale is a reasonable way to account for this.
Samples. Before you sell a design, you should order a sample. You need to check the print quality, the color accuracy, the fit. That’s $16 to $20 out of pocket per design, and it doesn’t generate revenue. Most sellers I know order 2 to 3 samples before they’re happy with a design.
Your time. This one’s easy to ignore because it doesn’t show up on a balance sheet. But designing the shirt, writing the product description, taking or generating mockups, setting up the Shopify listing, and handling customer service all take hours. If you value your time at $20 an hour and spend 4 hours on a product, that’s $80 in labor before you’ve sold a single unit.
Marketing. Running ads is optional, but most sellers who get past 10 to 20 sales a month are spending something on Facebook or Instagram ads. For planning purposes, expect CPA in the $5 to $15 range depending on your niche, design quality, and targeting. That’s a wide range, and it’s the variable that makes or breaks profitability for most stores.
One sale, dollar by dollar
Let’s add it all up. A customer in the US buys one Bella+Canvas 3001 T-shirt from your Shopify store for $29.99 plus $4.75 shipping.
| Cost item | Amount |
|---|---|
| Customer pays | $34.74 |
| Bella+Canvas 3001 (Printful) | -$11.69 |
| Shipping (Printful, US domestic) | -$4.75 |
| Shopify payment processing (2.9% + $0.30 on $34.74) | -$1.31 |
| Shopify subscription (prorated, ~30 sales/month) | -$0.97 |
| Return/refund buffer (~$1.25 per sale) | -$1.25 |
| What you keep | $14.77 |
That $14.77 is your gross profit on the sale. Before marketing. Before your time. Before samples.
The mistake I see beginners make is treating the POD base cost as the full cost. It’s just the first line item.
If you’re running ads and your cost per acquisition is $8, you’re left with $6.77. That’s a 19.5% margin on the total amount the customer paid.
If your cost per acquisition drops to $4 (good targeting, strong organic traffic), you’re at $10.77, or 31.0% margin.
And if you’re not running ads at all, relying purely on organic traffic, SEO, or social media, that $14.77 is yours. About 42.5% margin. That’s the best-case scenario, and it’s realistic for sellers who put in the work on content and community.
Want to run this calculation for your own product?
Get the Shopify POD Profit Planner for $12
What the margin actually looks like
The margin on a single T-shirt is decent if you keep your costs tight and don’t overspend on ads. The problem is volume.
At 10 sales a month with no ads, you’re making about $157 before the monthly Shopify subscription. After the $29 subscription, that’s about $128. Not a business yet. More like a hobby that pays for your coffee.
At 50 sales a month with $5 CPA on ads, you’re making about $537 before the monthly Shopify subscription. After the $29 subscription, that’s about $508. Starting to look like a side income.
At 200 sales a month with $5 CPA, you’re making about $2,148 before the monthly Shopify subscription. After the $29 subscription, that’s about $2,119. Now it’s a real income stream, but you’re also spending $1,000 a month on ads to get there.
The sellers who do well with POD T-shirts usually do one of two things. They either build an audience that buys without ads (YouTube, TikTok, a niche community), or they find a design that converts so well on ads that the CPA stays under $5. Most sellers land somewhere in between, and the math works out to a modest but real profit.
The sellers who struggle are the ones who price at $19.99 because they saw competitors at $19.99, without knowing that those competitors might be losing money or might have a different cost structure. Pricing a Bella+Canvas 3001 at $19.99 with free shipping leaves you about $0.45 in gross profit before ads. One refund can erase the profit from dozens of thin-margin sales.
The one number to know before pricing
If you take one thing from this article, let it be this: know your all-in cost before you set your price.
Your all-in cost per sale is:
Production + Shipping + Payment Processing + (Monthly Subscription ÷ Monthly Sales) + Refund Buffer
For a Bella+Canvas 3001 on Printful with Shopify Payments, that comes to $19.97 per sale at 30 sales per month.
Price your shirt above that number, and every sale puts money in your pocket. Price below it, and you’re paying to give away shirts.
POD T-shirts commonly sell in the $22 to $35 range. The sellers at the low end are either running razor-thin margins on volume or losing money without realizing it. The sellers at the high end have strong designs, a defined niche, and customers who see the value.
Where you land depends on your design, your niche, and how well you understand the math. Once you know this cost floor, the next step is using a margin-based pricing formula instead of guessing.
Calculate your own numbers
The example above uses one shirt, one price, and one set of assumptions. Your product won’t match it exactly.
If you want to plug in your own selling price, product cost, shipping, ad budget, and see your real break-even ROAS, there’s a spreadsheet that does all of this for you. It calculates profit across five pricing scenarios and five apparel types, with a screenshot-ready summary page.