Linkjolt
Sign InStart Free
Shopify App Billing
For App Developers

Affiliate tracking for Shopify apps

Run a referral program for every app you ship on the Shopify App Store. Affiliates promote a hosted link, you forward billing events to our REST API, we handle the rest. Same architecture Klaviyo and Recharge use.

Start Free TrialRead the setup guide

No Partner OAuth grant needed

Multi-app on one subscription

0% transaction fees

# POST /api/v1/conversions
{ "campaignId": "camp_app_alpha", "affiliateId": "aff_jen_smith", "amount": 29.0, "currency": "USD", "orderId": "gid://.../AppSubscription/123-2026-05", "conversionType": "recurring", "parentConversionId": "conv_orig_xyz" }
✓ HTTP 201 - conversion recorded
→ linked to original install: conv_orig_xyz
→ affiliate Jen Smith · commission $29 × 20% = $5.80

Selling physical products on a Shopify store instead of building Shopify apps? You probably want our Shopify store affiliate tracking page, which covers Stripe Payment Links and the tracking script approach.

The PartnerStack pattern, at a tenth the price

Every part of the architecture is what Klaviyo, Recharge, and other top Shopify apps use to run their partner programs. We just made it affordable for indie app developers.

Built for App Developers

Run an affiliate program for each Shopify app you ship. Different commission rates, different affiliates, one dashboard. No SDK in your app, no proprietary tracking pixel.

One Account, Every App

Have five apps? Five campaigns, one subscription. Each app gets its own affiliate roster, commission structure, and tracking links inside the same LinkJolt account.

Recurring Commissions

Every Shopify billing cycle fires a renewal. We chain renewals back to the original install so affiliates keep earning every month the customer stays subscribed.

Attribution That Survives Install

Affiliate links route through our hosted redirect, which signs a state token that rides through Shopify's OAuth install flow. Lands intact in your app's callback.

0% Transaction Fees

Flat monthly pricing. We don't take a cut of your app revenue or your affiliate payouts. Shopify takes its standard 20% (or 0% under the App Developer Program); the rest stays yours.

Same Pattern Klaviyo and Recharge Use

Your app catches its own app_subscriptions/update webhook, then posts a conversion to our REST API. About 30 lines of code per app. Battle-tested architecture.

SETUP

Live in an afternoon

Four steps. About 30 lines of code per app. Copy-paste sample below the fold.

1
Create a Campaign per App

In LinkJolt, create one campaign per Shopify app you sell. Set commission rate, recurring config, and paste your app handle (the slug from your apps.shopify.com listing).

2
Generate an Ultimate API Key

Grab a live key (lj_pk_live_...) from your dashboard. Use a test key (lj_pk_test_...) while wiring it up so test conversions skip your earnings limit.

3
Verify State Tokens

When your OAuth callback fires after a Shopify install, verify the LinkJolt state token using HMAC-SHA256 and persist the {shop, affiliateId, campaignId} mapping in your own DB.

4
Forward Billing Events

On each app_subscriptions/update with status=ACTIVE, look up the affiliate by shop_id, fetch the charge amount via GraphQL, then POST to /api/v1/conversions. Done.

Open the full guide with code

LinkJolt vs Shoffi vs PartnerStack

Honest comparison of the three platforms that serve Shopify app developers.

Feature
LinkJolt
Shoffi
PartnerStack
Affiliate management
Included
Included
Included
Hosted landing pages
Yes
Yes
Yes
Recurring commissions
Yes
Yes
Yes
Transaction fee on app revenue
0%
0%
Custom
Starting price
$79.99/mo
Usage-based
$700+/mo
Requires Partner OAuth grant
No
Yes
No
Code change in your app
~30 LOC
~30 LOC
~30 LOC
Test mode keys
Yes
Limited
Yes
FAQ

Frequently Asked Questions

What Shopify app developers ask before signing up

Why don't you just hook into Shopify's webhook directly?

Shopify's app_subscriptions webhook payload does not include the charge amount. Every recipient has to call the Admin GraphQL API with the per-shop access token to look it up, and that token only exists inside your app. So we use the same pattern Klaviyo and Recharge use on PartnerStack: your app fires the conversion to our REST API after looking up the price.

How does the affiliate attribution survive the App Store install flow?

Affiliates promote a link like linkjolt.io/s/your-app-handle/AFF_CODE. Our redirect sets a click cookie and 302s to your Shopify install URL with a signed state token appended. Shopify's OAuth preserves the state param all the way to your app's callback, where you verify it and persist the affiliate ID alongside the install.

What happens on renewals?

Every Shopify billing cycle fires another app_subscriptions/update event. Your handler calls our endpoint again with conversionType set to recurring and parentConversionId pointing at the original sale. The dashboard shows renewals as a linked chain under the first install.

How do refunds, frozen subscriptions, and uninstalls work?

Each of those surfaces as a status change on app_subscriptions/update (or as app/uninstalled). Your webhook handler decides whether to call our refund flow. We expose conversion status flips via the dashboard and via the Developer API so you can automate however you want.

Can I run multiple Shopify apps from one LinkJolt account?

Yes. Each app is a campaign. Create as many as you need. They share one Ultimate subscription, one Stripe Connect account for payouts, and one earnings limit ($50K/mo on Ultimate). Affiliates can promote one app or all of them.

What fees does LinkJolt charge on Shopify app revenue?

Zero transaction fees. Flat-rate SaaS pricing. Shopify takes its standard 20% (or 0% under the Built for Shopify program). Your net-of-Shopify revenue flows through unchanged.

Can I test the integration before going live?

Yes. Generate a test API key (lj_pk_test_...) from your dashboard. Test conversions are tagged is_test=true, skip your earnings limit, skip campaign revenue increments, and skip outbound webhook dispatch. Flip to a live key once you have verified the flow.

Launch Today

Ready to Grow Your SaaS with Affiliates?

Join a growing list of SaaS companies using our platform to scale their businesses through affiliate marketing. Start your 3-day free trial today.

Start 3-Day Free Trial

3-Day Free Trial

0% Platform Fees

Cancel Anytime

LIVE

0+

SaaS companies joined this week

LinkJolt

The all-in-one affiliate management platform for SaaS companies.

Product

© 2026 LinkJolt. All rights reserved.

GDPR Compliant Badge
LinkJolt SaaSHub BadgeUneed Product of the Day BadgeTinyLaunch Badge

Made with ♥ for SaaS companies