Install on Outseta
Install the Rekomi script on Outseta's host platform so the affiliate cookie is set before sign-up, then rely on the Stripe webhook for conversion attribution.
Outseta is an all-in-one authentication, billing, and CRM layer that sits on top of a host site you control (Webflow, Carrd, WordPress, or custom HTML). Rekomi installs in the host's head, alongside the Outseta embed code. Because Outseta uses Stripe natively for billing on most accounts, conversion attribution flows through the same Stripe webhook rail Rekomi's Stripe-native customers use. No thank-you-page snippet needed in the typical case.
Install the head script on the host
The Outseta embed and the Rekomi script both live in the host's <head>. Order does not matter, but both must run on every page where affiliate clicks could land.
Webflow: Site settings > Custom code > Head code.
Carrd: Site Settings > Code > Head.
Custom HTML / WordPress: Paste inside the <head> of the shared template (or via a header-injection plugin like WPCode for WordPress).
<script>
(function(){
var s=document.createElement('script');
s.src='https://js.rekomi.com/v1/rekomi.js';
s.async=true;
s.dataset.programId='YOUR_PROGRAM_ID';
document.head.appendChild(s);
})();
</script>The Outseta embed code (from Outseta admin > Auth > Embeds) sits next to this; both load independently and don't conflict.
How attribution works (the common case)
The standard Outseta account routes payments through your own connected Stripe account. When a visitor signs up and starts a subscription through Outseta's signup widget, Stripe fires checkout.session.completed or customer.subscription.created to Rekomi's webhook listener. Rekomi matches the referral cookie that was set when the visitor landed on your host site and credits the affiliate.
No extra snippet is required for this case. The head script captures the click; Stripe closes the loop.
Path B: Outseta-managed billing (Merchant of Record)
A small percentage of Outseta accounts use Outseta's own merchant-of-record billing instead of routing through a connected Stripe. If your account is one of these, Stripe webhooks do not fire on signup (because Outseta is the merchant). You need to fire conversions from Outseta's member.created or subscription.created webhook directly to Rekomi's S2S endpoint.
In Outseta: Auth > Webhooks > Create webhook. Subscribe to member.created (or subscription.created if you only want paid signups). Point it at a handler on your backend.
The handler reads the new member's email and any custom metadata, then relays to Rekomi. Because the affiliate cookie lives on the visitor's browser, not in Outseta's payload, the relay needs the slug to come along somehow. The cleanest pattern is to pass the referral as a custom property on the signup form (Outseta's personCustomProperty API) so it lands on the member record.
Add a hidden field to the Outseta signup form with key rekomi_affiliate_slug, hydrated from window.Rekomi.getReferral() on page load. Then the webhook payload includes that custom property, and your relay POSTs it to /api/tracking/s2s with HMAC.
// Node example, MoR path only
app.post('/webhooks/outseta', async (req, res) => {
const event = req.body;
const referral = event.Data?.CustomProperties?.rekomi_affiliate_slug;
if (!referral) return res.sendStatus(200);
const body = JSON.stringify({
external_event_id: event.Data.Uid,
affiliate_slug: referral,
amount_cents: event.Data.Subscription?.AmountCents || 0,
currency: event.Data.Subscription?.Currency || 'USD',
customer_email: event.Data.Email,
});
const signature = hmacSha256(body, process.env.REKOMI_S2S_SECRET);
await fetch('https://api.rekomi.com/api/tracking/s2s', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Rekomi-Signature': signature,
},
body,
});
res.sendStatus(200);
});If you are not sure whether your Outseta account is Stripe-connected or MoR, check Outseta admin > Billing > Payment provider. "Stripe Connect" means the standard path applies. Anything else means you are on the MoR path and need this relay.
Quirks worth knowing
Outseta is an overlay, not a host. The script always installs in the host's head. There is no Outseta admin slot for arbitrary head HTML; trying to install via Outseta will not work.
SPA-style member areas. Outseta's authenticated widgets render in place without navigating to new URLs. The cookie is still valid because it was set on first visit to the host domain. If your member dashboard is on a separate subdomain, install the Rekomi script there too so cookie attribution survives the subdomain hop.
Outseta's email is the canonical identifier. Rekomi uses email-matching as a fallback if the slug-to-cookie attribution fails. The signup email is the same one the affiliate's customer entered into the Outseta form, so even on edge cases (cookie cleared, ITP-blocked browser) the email match recovers attribution.
Custom properties are case-sensitive. When adding rekomi_affiliate_slug as an Outseta custom property, use exactly that snake-case form. The webhook payload preserves the case.
Troubleshooting
Signup completes but no conversion lands in Rekomi. If you are on Stripe Connect, verify Stripe webhooks fire to Rekomi's listener (Rekomi Settings > Tracking > Stripe webhook should show recent events). If you are on Outseta MoR, verify the signup form passes the referral as a custom property and that your relay endpoint receives the webhook with that property populated.
Webhook returns 200 but Rekomi shows no S2S call. The HMAC signature on the S2S relay is wrong. The signature must be computed over the raw JSON.stringify(body) you POST, not over the parsed JSON Outseta sent to your relay.
Affiliate cookie is missing on the signup page. The visitor likely reached the signup page through a path that bypassed your Rekomi-bearing pages (a direct deep link). The cookie has to be set on at least one host-domain page before the visitor reaches signup. Audit your top-of-funnel pages and confirm the head script is everywhere.
Related
Install on Memberstack
Capture Memberstack signups via a post-signup convert event on your host platform. Memberstack is an overlay, so Rekomi installs on the host (Webflow, custom HTML, Duda), not in Memberstack itself.
Install on Podia
Two Podia text fields handle the entire install. Website tracking code carries the head script; Conversion tracking code fires the post-purchase event. No code outside Podia's admin.