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

If you pay per sign-up instead of per purchase, you enter the address of your thank-you page, and leads are counted from there. Nothing has to be inserted at all.

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.

Comparison of the four integration routes. Choose a column to see the details below.
Property
Clicks are recorded on our serverThe redirect link hits us first – even with no code at all on your sideThe redirect link hits us first – even with no code at all on your sideThe redirect link hits us first – even with no code at all on your sideThe redirect link hits us first – even with no code at all on your side
The sale is reported server to serverNo – Web Pixel in the browserYes – API integrationYes – webhook from StripeNo – script on the order confirmation page
No code in the store’s themeYes – Web Pixel, the theme is not touchedYes – plugin, the theme is not touchedYes – webhook, no code on the siteNo – two script tags must be added
Automatic rejection on refundNo – requires manual rejection within the approval periodYes – a refunded or cancelled order is rejected automatically; a partial refund reduces the commissionYes – refunds and chargebacks reject the commission; a partial refund reduces itNo – requires manual rejection within the deadline
Renewals on subscriptionsNot documented for this routeNot documented for this routeYes – one-off purchases, subscriptions and renewals through the same webhookNot documented for this route
Status todayUnder reviewReadyReadyReady
yespartlynonot documented here

Shopify

App with Web Pixel

Under review
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

If an order is refunded or cancelled via the WooCommerce plugin, or a Stripe payment is refunded, the commission is rejected automatically. If only part is refunded, the commission and fee are reduced proportionally. On Shopify and on script-based sales you have to reject within the deadline yourself – it does not happen by itself, and we do not promise otherwise. What the deadline means for both parties is explained under approval of sales.

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.

  1. 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.
  2. 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.
  3. 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

Without monitoring, you discover a missing script when you start wondering why no sales have come in for a while. By then the traffic has gone, the clicks are spent, and the affiliate has concluded that your program does not convert. It is a more expensive mistake than it looks.

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

The code snippets, the sale line on the order confirmation page, the Google Analytics route and the test are in our docs – one page per platform and a technical reference. Open the docs ↗.

For affiliates

Looking for ChatGPT, Claude or API access?

The web shop integrations above record the store’s sales. As an affiliate, you can connect your AI assistant via MCP or use the REST API for your programs, links and results. See the setup and API examples ↗.

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.

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.