Most "green" marketplaces are a logo wall with a checkout button. Behind the wall, the actual plumbing — who fired the affiliate pixel, which network booked the click, what the merchant promised in their feed, and what the shopper is told they offset — is held together with goodwill and screenshots. When you set out to build a sustainable marketplace at twenty thousand brands, the romantic part lasts about a week. After that you are an attribution engineer with a sustainability problem, or a sustainability engineer with an attribution problem. At IMPT we are both, and I want to walk through what that actually looks like under the bonnet.
What a 20,000-brand catalogue really is
A marketplace at this size is not a database of products. It is a graph of relationships. Each brand sits behind one or more affiliate networks. Each network has its own feed format, its own deeplink scheme, its own postback rules, its own cookie window, and its own definition of a "valid" transaction. Some pay on click validation, some on order confirmation, some on shipment, some thirty to ninety days after the fact once returns settle. None of them were built with a carbon ledger in mind.
So the first real piece of work in a green commerce stack is not a carbon calculation. It is reconciliation. You have to be able to say, with confidence, that this human, on this device, clicked through to this brand, bought this basket, at this price, on this day, and that the network agrees with you to within a rounding error. If you cannot say that cleanly, every downstream claim — the offset, the receipt, the on-chain record — is built on sand.
The attribution layer, in plain terms
Affiliate attribution sounds dry until you try to do it honestly. The shape of it at IMPT looks roughly like this:
- A shopper lands on a brand page in our marketplace and clicks through.
- We mint a click identifier on our side before we hand them off, and we wrap the network's deeplink so the network's identifier and ours travel together.
- The network drops its cookie. The merchant's site loads. The shopper does whatever shoppers do — abandons, returns the next day, buys a different SKU, applies a code we did not give them.
- If a sale happens, the network fires a postback to us, eventually. That postback carries an order ID, a basket value, a commission, and a status that will change at least once.
- We match the postback back to the original click identifier and, only then, do we know we have a real transaction to attach a carbon receipt to.
The honest engineering problem is the word "eventually". Postbacks are late, duplicated, reversed, partially refunded, currency-converted at the wrong rate, and occasionally just wrong. Building a sustainable marketplace means treating the affiliate ledger as a stream that converges over time, not as an event you can react to in real time and forget. Every order has a state machine: pending, validated, shipped, partially returned, fully refunded, void. The carbon claim has to follow that state machine, not get ahead of it.
The per-purchase carbon receipt
The carbon receipt is the thing the shopper actually feels. Everything else is invisible to them. So the receipt has to be both true and legible, and those are not the same constraint.
True means the offset is real, retired against a verifiable project, and tied to a specific transaction we can show the workings on. At IMPT every booking on the hotel side offsets one tonne of CO₂ on-chain, paid by IMPT out of its commission rather than added to the guest's bill. On the shopping side the same principle applies — the cost of the offset is absorbed into our economics with the brand, not bolted on as a guilt tax at checkout. That decision sounds commercial. It is actually a trust decision. The minute you ask the shopper to fund the offset, you have created an incentive for them to skip it, and a worse incentive for you to pretend they didn't.
Legible means the receipt has to fit on a phone screen and survive a sceptical reader. What did I buy. What was offset. Where can I see the proof. When was it retired. Anything more than that is decoration. We push the proof to a chain so the receipt can be checked by someone who does not trust us, which is the only audience that matters in this category.
The hard part, again, is timing. You cannot retire an offset against a sale that might be refunded next week. So the receipt the shopper sees at checkout is a promise, the receipt at validation is a commitment, and the on-chain retirement happens once the order is genuinely settled. Three states, one user-facing artifact. Get that wrong and you are either over-claiming offsets you have not earned, or under-serving the shopper who already left the site.
Merchant onboarding is a tax, and you should pay it
People ask how you get to twenty thousand brands. The unromantic answer is that most of them arrive through the affiliate networks in a bulk feed, and most of the work is rejecting them, not adding them. Merchant onboarding at this scale is a filtering exercise.
For each brand you need to answer, at minimum:
- Is the product feed clean enough to render? Categories, images, prices, stock signals, currency, region.
- Does the brand actually ship to the regions where our shoppers live, or are we about to advertise something nobody can buy?
- Does the brand have any sustainability posture worth surfacing — materials, certifications, repair policy, take-back scheme — or are we just laundering a logo?
- Does the network's tracking actually fire end-to-end on a real device, not just in a test harness?
- What is the refund and return profile, because that drives how aggressive we can be with the carbon receipt timing.
The fifth one is the one nobody talks about and the one that quietly decides whether your green commerce stack is honest. Brands with high return rates need longer settlement windows on the offset side. Brands with clean fulfilment can be settled faster. Treating every merchant the same is convenient and wrong.
The onboarding tax is real engineer time per brand, and it does not scale linearly with headcount. Tooling helps. Feed validators, deeplink testers, automated tracking probes, a category taxonomy that is not just "Home & Garden". But there is a residual human judgment cost per merchant that you cannot automate away, and pretending otherwise is how marketplaces end up with dead links and dead claims.
The green commerce stack, drawn honestly
If I had to sketch the layers of what we run, ignoring the marketing, it would be roughly:
- Catalogue layer. Normalised product and brand data from many feeds, with a shared taxonomy and a sustainability metadata model that is sparse but truthful.
- Click layer. Our identifier, the network's identifier, the device fingerprint, and the deeplink rewriter. This is the layer that decides whether you can trust anything that happens later.
- Reconciliation layer. Postback ingestion, state machines per order, currency normalisation, refund handling, network-by-network quirks codified in one place rather than scattered through the codebase.
- Carbon ledger. Offset inventory, project provenance, retirement queue, on-chain anchoring. Driven by the reconciliation layer, never ahead of it.
- Receipt layer. What the shopper sees, what they can share, what they can verify. Plain language, not certificate theatre.
- Settlement layer. Brand commissions, IMPT Token mechanics, IMPT Card flows. The economics that let us absorb the offset cost rather than push it to the shopper.
None of those layers are exotic on their own. The work is in the seams. Every interesting bug we have ever had lives at a seam — a network that re-fires postbacks on Sundays, a brand that changes its currency mid-feed, a refund that arrives before the original sale validates, a click that gets re-attributed by a coupon site three days later. A sustainable marketplace is a normal marketplace plus a carbon ledger that has to stay consistent through all of that.
What this means if you are building, buying, or auditing
If you are building one of these: spend less time on the carbon side and more time on the click and reconciliation side at the start. The carbon math is a solved problem with credible registries. The attribution math is where you will lose your credibility, because it is where errors compound silently.
If you are buying from one: ask for the receipt and follow it to the chain. If the trail ends at a PDF or a press release, the offset is a marketing line, not a commitment. Ask whether the offset is funded by you or by the platform. The answer tells you everything about the incentive structure behind the badge.
If you are auditing one: ignore the homepage. Look at the order state machine and the time delta between sale validation and offset retirement. That delta is the truth-teller.
What we are doing about it this week
At IMPT we are continuing to harden the reconciliation layer ahead of the AI-native booking agent on the hotel side, because an agent that books on a guest's behalf cannot tolerate a fuzzy carbon claim. On the shopping side we are tightening the merchant onboarding filter, which in practice means turning more brands away than we accept this quarter. If you run a brand and you want to be on the marketplace, the most useful thing you can do this week is fix your product feed and your tracking — in that order. The sustainability story comes after the plumbing works, never before.