For stores
Get started without a developer.
The installation is one decision: where does the sale happen? The rest follows by itself. The guide even tries to guess the answer by fetching your front page – and you can prove that it works before you invite a single affiliate in.
- Your platform
- Apps, plugins and guides for your web shop
- 6 hours
- between each check of whether the script on your site still works
- 0 API keys
- we never ask for access to your Stripe
First step
The guide works out for itself what you build on.
When you open the installation, we fetch your front page and look for the fingerprints of Shopify, WooCommerce, Webflow, Magento 2, PrestaShop, Shopware 6 and Danish web shop platforms. Smartweb, HostedShop and the new DanDomain Webshop, DanDomain Classic and Shoporama each have their own installation guide – so do Magento, PrestaShop and Shopware, via Google Analytics.
It sounds like a detail. It is not: the most common installation problem is not a bug in the code, but that someone followed the wrong instructions. That is why the guide only shows the steps for your platform – not a menu you have to choose correctly from yourself.
No code at all
Lead programs only need a thank-you page
Find your integration
Choose the route your sales already run on.
We state the status of each one as it is. The Shopify app has a caveat, and it is written here rather than in a footnote.
Four ways in · status without spin
4 routes
The click is always recorded on our server. The only thing the four routes disagree on is how the sale is reported back – choose a column.
| Property | ||||
|---|---|---|---|---|
| Clicks are recorded on our server | The redirect link hits us first – even with no code at all on your side | The redirect link hits us first – even with no code at all on your side | The redirect link hits us first – even with no code at all on your side | The redirect link hits us first – even with no code at all on your side |
| The sale is reported server to server | No – Web Pixel in the browser | Yes – API integration | Yes – webhook from Stripe | No – script on the order confirmation page |
| No code in the store’s theme | Yes – Web Pixel, the theme is not touched | Yes – plugin, the theme is not touched | Yes – webhook, no code on the site | No – two script tags must be added |
| Automatic rejection on refund | No – requires manual rejection within the approval period | Yes – a refunded or cancelled order is rejected automatically; a partial refund reduces the commission | Yes – refunds and chargebacks reject the commission; a partial refund reduces it | No – requires manual rejection within the deadline |
| Renewals on subscriptions | Not documented for this route | Not documented for this route | Yes – one-off purchases, subscriptions and renewals through the same webhook | Not documented for this route |
| Status today | Under review | Ready | Ready | Ready |
Shopify
App with Web Pixel
- How the sale is reported
- The app turns tracking on with a Web Pixel. The theme is not touched, and a theme change breaks nothing.
- What you need to know
- There is no script in the theme that can disappear. Sales in any currency with a daily ECB rate are recorded and converted to Danish kroner at the rate on the day of the sale – the rate is locked on the sale. Balance, commission and payouts are settled in Danish kroner today. On the other hand, the app is under review at Shopify and is not yet in the App Store, so a Shopify store cannot install it today. Commission is calculated on the value of the goods without shipping, where it is not yet confirmed whether the VAT has been deducted, and you have to reject a refunded order yourself within the approval period.
Where there is a dash, it is because we cannot point to the code – not because the answer is no. A guess in a matrix looks like a guarantee, and that is exactly what we steer clear of.
Shopify
The app turns tracking on with a Web Pixel, so the theme does not need to be touched – and nothing breaks when you change theme. The installation creates your Affilyflow account by itself; if you already have an account, you connect it in the app with a six-digit code from the dashboard. Sales in any currency with a daily ECB rate are recorded and converted to Danish kroner at the rate on the day of the sale – the rate is locked on the sale. Balance, commission and payouts are settled in Danish kroner today. Status without spin: the app is under review at Shopify and is not yet in the App Store, so a Shopify store cannot install it today. WooCommerce, Stripe and a script on your own website work now. How the Shopify app works (docs).
WooCommerce
The WordPress plugin connects the store with its own key and reports the order from the store’s server with the amount excluding VAT. Commission is calculated on the value of the goods after discounts, without VAT and shipping. If the order is refunded or cancelled, the commission is rejected automatically and the affiliate is notified – a partial refund reduces the commission proportionally. From plugin 1.12.0 the order is sent from WooCommerce’s own queue with retries, the click is only stored after consent when the cookie banner uses the WP Consent API, and orders from express checkouts (PayPal, Apple Pay, Google Pay, Klarna, Nets) are included. Guide to the WooCommerce plugin in the docs.
Stripe
Three steps: paste our webhook address into your own Stripe, put the signing secret back in the dashboard, and send the click ID along with the payment. Covers one-off purchases, subscriptions and renewals through the same server-to-server route. With the tracking code on the page, Payment Links get the click ID automatically, and tracking can be tested in Stripe’s test mode with a test card after the test link. Guide to the Stripe webhook in the docs.
Your own website
One script tag on every page – and the sale is reported the easiest way Setup finds when it scans your site: automatically from Google Analytics 4, with a single HTML line on the order confirmation page or from your own server. The principle behind a classic tracking pixel, but without field names to find. The script can wait for consent and reads Cookiebot, Cookie Information, IAB TCF and Google Consent Mode v2 by itself. Guide to a custom-built web shop in the docs.
Smartweb, HostedShop, DanDomain and Shoporama
Setup recognises the platform and shows the guide for Smartweb, HostedShop and the new DanDomain Webshop, the guide for DanDomain Classic or the guide for Shoporama – Danish web shop platforms. They use different fields and order confirmations – on Shoporama the sale code has to go in the theme’s receipt page, so it requires access to the theme. You get code for your platform and can test the connection in the dashboard. Guides in the docs: Smartweb and HostedShop, DanDomain Classic and Shoporama.
Magento 2, PrestaShop and Shopware 6
Tracked today via Google Analytics 4: the tracking code on every page, and the platform’s own Google Analytics module sends the purchase with order number, amount, VAT and shipping. We calculate the commission on the goods without VAT and shipping according to the platform’s own shipping rule. Status without spin: there is no module from us yet, so the purchase requires Google Analytics 4 and the customer’s yes to statistics cookies – Shopware’s standard order confirmation, however, is also read without Google Analytics. Guides in the docs: Magento 2, PrestaShop and Shopware 6.
Common to all of them: clicks are recorded on our server through the redirect link, not by a script on your side. The integration therefore only has to handle the one thing it is good at – telling us that an order went through. WooCommerce and Stripe do it server-side through an API integration; Shopify through a Web Pixel; your own website through a script on the order confirmation page.
Refunds
Automatic on WooCommerce and Stripe
Proof
See that it works before you invite anyone in.
The worst start to an affiliate program is waiting for the first sale and hoping. You can try out the whole chain yourself.
- Test the trackingThe test step fetches your front page and confirms with two ticks: the script is found, and a conversion has been received. Click numbers alone prove nothing – clicks are recorded on our server, even with no code on your page at all.
- Run a real sale throughThe test link under Test the tracking gives a genuine click from our test affiliate on every platform, and the purchase becomes a test sale with no commission or fee – with Stripe also in test mode with a test card. In the Shopify app you can generate a real tracking link to your own shop and complete click → purchase → recorded sale yourself. No dummy data: the test sale goes through the same redirect and conversion function as a real sale, but without an amount cap. If your shop uses another currency, the test sale is converted to Danish kroner at the ECB rate – exactly like a real sale. The test sale is attributed to a system account, so your affiliate numbers are not polluted.
- Pass the guide on if someone else is doing itEnter your developer’s email address in the dashboard, and the whole platform-specific guide with code snippets is sent as an email. The email is built from the same source as the guide on screen, so the two never get out of step.
Afterwards there is a log. Every single tracking event is stored with source, amount, VAT, discount and our result – including the events that did not become a sale. The results have names: duplicate, no affiliate, not a renewal, wrong store, blocked. When something is not counted, there is a recorded reason, instead of a hole in the statistics no one can explain.
Afterwards
We notice when tracking disappears.
An integration is not finished because it worked on the day it was set up. Themes get updated, plugins get switched off, and scripts disappear.
Every 6 hours we fetch your front page and check whether the tracking code is still there. If it goes from working to down, we send a warning email – only at the transition, so you do not learn to ignore us. In the dashboard there is a dot in the top bar that shows at all times whether tracking is active, down or not set up yet, and it links straight to the installation.
What it saves
A month of sales you would otherwise never have seen
Stores with the Shopify app have no script in the theme that can disappear: the app is the tracking. The app checks the pixel every time it is opened, and we follow the pixel status for every store. The 6-hour check and the warning email apply to a script on your own site.
For the developer
The whole setup step by step
For affiliates
Looking for ChatGPT, Claude or API access?
Terms on this page
- API integration
- Server-to-server tracking
- Tracking pixel
- Tracking link
- First-party cookie
- Cookie consent
- Lead
The full affiliate glossary explains the rest.
Questions
What people actually ask.
- Do I have to give you access to my Stripe account?
- No. We never ask for your Stripe API key. You give us a webhook signing secret, which can only confirm that a message comes from you – it can neither fetch data nor move money. Your webhook can also only credit your own store’s program: if a message arrives about another store, it is rejected.
- Is the Affilyflow app in Shopify’s App Store?
- Not yet. The app is under review at Shopify, and until it is in the App Store, a Shopify store cannot install it. WooCommerce, Stripe and a script on your own website work today. We say it as it is, instead of calling ourselves approved before we are.
- What happens if tracking disappears after a theme update?
- We check your front page every 6 hours and send a warning email the moment tracking goes from working to down – only at the transition, so you are not spammed. A dot in the dashboard’s top bar shows the status at all times.
Where to next
Installation guides in the docs
- DocsWooCommerce pluginInstall the plugin, paste the connect code, and clicks and sales are tracked from your own server.
- DocsSmartweb and HostedShopScript in the design and the sale code in the affiliate field – also the new DanDomain Webshop.
- DocsStripe Checkout and Payment LinksThe webhook for one-off purchases, subscriptions and refunds – without an API key.
- DocsCustom-built web shopA web shop coded for you, for example in Laravel or PHP – without knowing field names.
- DocsMagento 2, PrestaShop and Shopware 6The tracking code on every page and the platform’s own Google Analytics 4 – no module from us yet.
- DocsThe Shopify app (under review)How the app and the Web Pixel work – the app is not yet in the App Store.
- DocsTesting and troubleshootingProve the tracking with a test purchase, and find the cause when a sale does not come through.
Next step
Install today, invite affiliates tomorrow.
Create the account, run the guide for your platform, and press the test button – on Shopify, though, only once the app is in the App Store. It costs nothing until you have had an order – the whole calculation is under start an affiliate program. If you create the store account here, you currently get DKK 250 in starter credit for your first sales – this does not apply to accounts created by the Shopify app.