Program setup end-to-end
Set up a Shopify affiliate program end-to-end: connect Stripe billing, install the Shopify app, run the self-test, set commission and windows, then publish.
A Shopify affiliate program setup runs in five steps: connect Stripe billing, install the Shopify app, run the self-test, set commission and windows, then publish. The first three are the readiness gate. Your program can go live only after all three pass.
You pay only when an athlete drives a real attributed sale: the commission you set, plus a 20% platform fee on top, billed to you. No subscription, no setup fee, no commission bond.
The five steps
| Step | What you do | Counts toward the readiness gate |
|---|---|---|
| 1. Connect Stripe billing | Accept net-30 terms; we create a Stripe Customer. | Yes |
| 2. Install the Shopify app | Install the unlisted custom app from a direct link. | Yes |
| 3. Run the self-test | Place a test order; confirm attribution end to end. | Yes |
| 4. Set commission and windows | Choose a flat $ or %, set the attribution and refund windows. | No (drafts allowed anytime) |
| 5. Publish | Publish the program so athletes can apply. | Gated by steps 1 to 3 |
Step 1: connect Stripe billing
Accept billing terms and we create a Stripe Customer linked to your brand org. This is the account we invoice each month.
We invoice you monthly via Stripe Billing, net-30, on the 1st of the following month: the commission your athletes earned plus the 20% platform fee. Athletes are paid from the cleared commission once your invoice clears.
The fee is on top, not a cut
You set the commission. Say $50 per sale. Your athlete receives the full $50. We add a 20% platform fee, $10, on top, billed to you. Your total cost is $60. The fee is charged only when an athlete drives a real attributed sale.
Step 2: install the Shopify app
The app installs as an unlisted custom app through a direct-install link, so there is no App Store approval to wait on. Once installed, it does two things:
- Registers an orders/create webhook so we see each new order on our server.
- Writes the ?ref= value into the cart note attribute so the order is matched to the right athlete server-side.
This is first-party, server-side attribution through your Shopify store. When someone clicks an athlete's tracking link and buys, the order is credited automatically. There is no discount code for the customer to enter and nothing for them to remember. Credit holds for the attribution window even if they come back and buy a few days later. It survives ad blockers, Safari's tracking protection, and a shopper switching browsers.
Full step-by-step instructions are in installing the Shopify app.
Step 3: run the self-test
The self-test fires one test conversion through the full path: tracking link, cart note attribute, webhook, attribution match. Run it once after installing.
- Open your program's tracking link so your store loads with ?ref= in the URL.
- Add any item to the cart, which triggers the script to copy the ref value into the cart note attribute.
- Complete a test order using Shopify's test mode, so no real charge is made.
- Check the result in Harmonia. Within a minute, the Shopify panel marks the self-test passed and shows the matched test conversion.
What a pass confirms
A passed self-test means all three links in the chain work: the script wrote the ref value, Shopify fired the orders/create webhook, and our server matched the order to the athlete. Once it passes, real sales are credited automatically.
Step 4: set commission and windows
Set the commission for the program: a flat dollar amount per sale or a flat percentage of the order. You decide the amount, per program. There is no platform-wide rate.
The commission setter shows you the math before you publish, including the 20% platform fee on top:
$50athlete commission $1020% platform fee (on top) $60your total cost per saleFor the full walkthrough of flat dollar versus flat percentage, see setting your affiliate commission.
Then set two windows, which are separate from each other:
- Attribution window. How long after a click a sale still counts. You set this per program.
- Refund window. How long after a sale a refund can reverse a commission, pro-rated to the amount refunded.
Both are explained in attribution windows explained.
Step 5: publish your program
Once the program is filled in with a commission and the readiness gate has passed, you can publish. Publishing makes the program live so athletes can find it, apply, and accept its terms.
Approval is two-way: you approve the athlete and the athlete accepts your program. Neither side joins without the other.
The readiness gate
Your program can go live only after the readiness gate passes. The dashboard shows it as a three-item checklist:
- Billing terms reviewed. You have accepted net-30 invoicing and a Stripe Customer is connected.
- Shopify store connected. The app is installed and the self-test has passed.
- First program published. At least one program is filled in and ready to publish.
You can draft before the gate passes
You can create a program in draft and set its commission and windows before billing and Shopify are done. The program stays in draft until billing terms are accepted and the Shopify self-test passes. Then you can publish it.
Optional: branded emails and assets
These steps polish the athlete experience, but they never block the readiness gate or publishing:
- Branded partner emails. Send athletes emails in your brand voice, with your name and logo, on top of a template Harmonia maintains. See branded partner emails.
- Program assets. Upload logos, approved copy, and other files athletes can use. You can add these before or after you publish.
What happens after you go live
Once the program is live, attribution and payouts run automatically:
- Sales are credited server-side through your Shopify store, no discount code involved.
- Payouts run through Stripe Connect. Once your monthly invoice clears, athletes are paid daily, with a $25 minimum; smaller balances roll forward. On December 15 we pay out any remaining balance regardless of the minimum.
- 1099-NEC forms are issued automatically at year-end for athletes who clear the IRS threshold. Stripe handles their ID and bank details; we never see them.
FAQ
What is the order of steps?
Connect Stripe billing, install the Shopify app, run the self-test, set commission and windows, then publish. The first three are the readiness gate. You can draft a program with commission and windows at any point, but it stays in draft until billing terms are accepted and the Shopify self-test passes.
How long until I am live?
Most brands finish in under an hour. The slowest step is the Shopify self-test, which takes a few minutes to place a test order and confirm the cart note attribute and orders/create webhook both work. Once the readiness gate passes and you publish, the program is live and athletes can apply.
What blocks publishing?
Three things must pass before a program can publish: billing terms accepted with a Stripe Customer connected, the Shopify app installed with a passing self-test, and the program itself filled in with a commission set. Branded emails and assets are optional and never block publishing.