Attribute Creem revenue to signups
Point the success URL at your site, or put the visitor id in checkout metadata.
Before you start
Your Creem store must be connected to Chartsy (Creem connection guide) and set as the site's Revenue account under Settings → domains, with the Chartsy tag on your site.
Creem buyers are matched to signups by email automatically. Pick the method below that fits how you sell to also credit buyers who pay with a different email - or never sign up. Both match by visitor id, so they keep working with GDPR mode on.
1Any checkout: set the success URL
In Creem, set each product's Success URL (or the success_url of checkouts you create) to a page on your site that has the Chartsy tag:
https://yoursite.com/thank-youCreem adds ?checkout_id=… to it by itself. When the buyer lands, Chartsy looks up the payment with your connected Creem account and credits it to the visit that brought them. No code needed - see success-page matching for the details.
2Creating checkouts from your server: add checkout metadata
Creem keeps checkout metadata on the subscription and payment it creates, so put the visitor's chartsy_visitor_id cookie there:
await fetch('https://api.creem.io/v1/checkouts', {
method: 'POST',
headers: { 'x-api-key': process.env.CREEM_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
product_id: '<your product id>',
// ...your existing options
metadata: { chartsy_visitor_id: req.cookies.chartsy_visitor_id || '' },
}),
});Email matching and GDPR mode
- Without either method, Creem buyers are still matched by email to people who signed up. Calling
window.chartsy.identify({ email })on your post-purchase page works too. - With GDPR mode on for the Creem source, no emails are stored, so email matching stops - the two methods above keep working.


