← Back to blog

An affiliate programme for your ecommerce store, built into MitoOps: partners, links, coupons and commissions in one place

Published 21 September 2026 · 8 min read

MitoOps affiliate programme: a partner, a tracked link and a discount code lead to an order that produces a commission

An external affiliate system is one more place where partners, clicks, coupons, commissions and payouts live. The order, however, lives in the store. Affiliate in MitoOps connects the partner programme directly to orders and operations: a conversion is created from the real order, the commission is calculated from its stored amounts, cancellations and returns adjust it on their own, and the partner sees their account on your brand’s domain. This article describes what the module does, where its limits are and who it suits.

Why an ecommerce store runs an affiliate programme at all

A partner programme is a sales channel: external partners, content creators, bloggers, ambassadors or companies bring customers and receive a share of their orders. It works well precisely where you can say reliably which order came through whom.

The usual solution is a separate affiliate platform. It knows about an order only what the tracking tag on the thank-you page sends it. When a customer blocks tracking, cancels the order later or returns part of the goods, the platform either never finds out or only after manual work. Partners, coupons, commissions and payouts then live in one system and orders in another, and somebody has to reconcile them.

MitoOps goes the other way: the partner programme sits on the same layer of orders, documents and analytics the merchant already works with. The order is the source of truth and the affiliate programme only reads it.

What Affiliate in MitoOps does

The module has two interfaces over one data model. The partner works in a separate portal with its own identity, unrelated to your staff accounts. The operator manages the programme in the app, in the Affiliate section.

The partner in the portal:

  • registers and, once approved, receives an account, an e-mail with access and, depending on the settings, an agreement to sign,
  • sees the campaigns available to them with the commission rate, the attribution window and the approval method,
  • copies a tracked link to the store home page, a product or a category,
  • has a discount code, or requests one if the programme allows it,
  • follows clicks, conversions, commissions and their state, requests a payout and downloads an overview,
  • reads the programme documents, help and terms in the store’s language.

The operator in the app: approves partners and their websites, creates campaigns per store, decides on commissions with the order status in view, keeps documents and signatures, issues payouts and prepares the bank order, writes messages to partners and watches programme statistics. None of it leaves the MitoOps account.

Partner link and discount code: two attribution paths

An order is attributed to a partner in two ways and the programme supports both at once.

Tracked link: the partner shares a link with their own code and a campaign number. The click passes through MitoOps, is recorded and the visitor is redirected to the store. When they buy within the campaign’s attribution window, the order is attributed to the partner by the click identifier. The identifier is stored in the browser only when the visitor consents to tracking in your store’s cookie bar. Without consent nothing is stored and no link attribution takes place, which is intended behaviour, not a bug.

Discount code: the partner has a code the customer enters in the cart. The code is an item on the order, so attribution does not depend on the browser, consent or a tracking tag. MitoOps knows the codes it issued to partners and looks for exactly those on the order. A code that belongs to nobody is attributed to nobody.

When both paths meet on one order, the partner’s code takes precedence over another partner’s click: the customer’s explicit decision in the cart weighs more than a trace from days ago. A conversion is created from the real order, not from a browser request, so a duplicate notification from the store never creates a second commission.

One partner, several stores

A merchant with several stores has one programme and the partner has one account. Access is granted per store: the partner registers through one of them and requests another from the portal, the operator approves or rejects the request, and a code for that store can be created together with the access.

Every store has its own campaigns, its own terms and its own coupon. The campaign description, store address, currency and rate in the partner-facing text always belong to the campaign, not to the store the partner happened to open the portal from.

Coupons without retyping

A partner’s discount code is created through the same coupon layer MitoOps uses to manage the store’s discounts. The programme can create it in the store with the discount set on the campaign, assign it to the partner and note in the store whom it belongs to.

A code the partner used before can be adopted into the programme unchanged. When a code changes, the old one is terminated and the new one replaces it; the conversion history stays with the old code. Suspending a partner can, depending on the settings, terminate their codes in the store, and reinstating them brings the codes back.

Conversion and commission

The flow is always the same: order in the store, attribution to a partner, conversion, approval, commission, payout.

The commission base is calculated from the order’s stored amounts according to the programme rules: from goods excluding or including VAT, with shipping and the payment fee excluded by default. Next to the base there is always the order total including VAT, so the two amounts can never be confused. Nothing is estimated.

A commission awaits approval manually or automatically once the return period has passed. When deciding, the operator sees the order status from the store, that is whether it is completed, open or cancelled. Cancelling the order rejects a new commission and cancels an approved one. A partial return through a credit note reduces the commission in proportion to the returned amount, always from the original value. A paid commission is never rewritten; such a case is handled by the next payout.

A payout is a batch of approved commissions with its own number and variable symbol. MitoOps does not send money; it prepares a bank order a person signs.

The electronic partner agreement

The programme keeps documents in versions per language: terms, an agreement, a code of conduct, a payout agreement or a custom document. For each one you set when the partner confirms it and whether a signature is required.

An electronic signature in MitoOps means that, after verifying their e-mail, the partner confirms the exact wording of the document with their name and consent, and the system stores an immutable record with a SHA-256 hash of the wording, the time, the confirmation method and the signer’s details. A PDF with both contracting parties is produced from the signature. It is not a qualified electronic signature under eIDAS; it is a provable confirmation of specific wording by a specific person, which the operator can download and verify at any time.

Your own affiliate domain

The partner portal and the tracked links can run on your brand’s domain, for example partners.example.com. The partner then shares a link of the form partners.example.com/r/code instead of a third-party platform address.

The domain is connected per store, verified through DNS, a certificate and the link route, and goes live only after deliberate activation. Until it is ready, links and e-mails use the app’s fallback address, which always works. When moving to another domain the old one stays as an alias: links partners have already shared keep working, new ones are generated from the main domain.

Affiliate data in analytics

An order attributed to a partner is not a separate world. In Analytics and in the channels it appears as the partner’s channel, whether it came from a link or a code, and every order is counted exactly once. A rejected or cancelled conversion is not spread across channels; it stays unattributed, like every order whose origin has no evidence. Why that is more honest than back-filling is explained in the article on the limits of measurement.

Automation and MCP

On plans that include API and MCP, an authorised system or AI assistant can read the programme through the interface: partners, campaigns, codes, conversions with the order status, payouts and statistics. Writes are narrow and each sits behind its own sensitive scope a person ticks deliberately on the consent screen: programme management and a decision on one specific commission on explicit instruction. Payouts stay in the app. What such a connection looks like in practice is shown in the case study with Claude.

Who it suits

  • a smaller store that wants its first partners without another subscription and without an integration,
  • a merchant with several stores or markets who needs one programme and one partner account,
  • an influencer or ambassador programme where the discount code and a simple portal decide,
  • B2B partners who need an agreement, documents and a payout with a variable symbol,
  • your own affiliate network with campaigns per store and your own domain.

Affiliate is part of every MitoOps plan; the number of active partners is set by the plan. The module ships switched off and is enabled with a single switch in Settings.

Frequently asked questions

Answers to the most common questions are below. The detailed procedure is in the module documentation.

Common questions

What is an affiliate programme?
A sales channel in which external partners bring customers through a link or a discount code and receive an agreed commission from their orders.
How does MitoOps attribute an order to a partner?
In two ways: by a tracked link (a click with the visitor’s consent and an order within the attribution window) or by the partner’s discount code on the order. The conversion is created from the real store order, not from a browser request.
Does the partner have to use a discount code?
No. A tracked link is enough. The code is a second, browser-independent path, and when the code and the link of two partners meet on one order, the code wins.
What if the customer rejects tracking cookies?
The click identifier is not stored and no link attribution takes place. The discount code still works because it is part of the order.
Can one partner promote several stores?
Yes. The partner has one account and access per store, requests another store from the portal and the operator approves it. Every store has its own campaigns and its own code.
Can the partner use their own code?
Yes. A code they used before can be adopted into the programme, or they request a new one from the portal and the operator approves it; the programme creates it in the store with the campaign’s discount.
What happens when an order is cancelled or returned?
A cancellation rejects a new commission and cancels an approved one. A partial return through a credit note reduces the commission in proportion to the returned amount. A paid commission does not change; it is handled by the next payout.
Does the affiliate portal have its own domain?
It can. The portal and the tracked links run on your brand’s domain after DNS, certificate and route verification; the app’s fallback address always works and the old domain stays as an alias after a move.
Can commissions be approved manually?
Yes. A campaign uses either manual approval or automatic approval once the return period has passed. When deciding, the operator sees the order status from the store and can also approve in bulk with confirmation.
Can Affiliate be connected over API or MCP?
Yes, on plans with API and MCP. The programme is read over REST and MCP; writes are MCP only, each behind its own sensitive scope, and payouts stay in the app.

Dealing with the same thing?

MitoOps brings stock, orders and shipping into one system. Let us walk through your numbers.