Systeme.io is an all-in-one funnel, email marketing, CRM and course platform — a lighter,
European-built alternative to Kajabi, Kartra and GoHighLevel. Our Systeme.io integration lets you sell your
Systeme.io courses, memberships and communities from our hosted checkout pages, using any of our supported
payment gateways and payment options.
Easy setup and full control over the payment options available to your customers
Automatic enrollment of buyers into your Systeme.io courses, communities and memberships
Fully secure checkout experience for your customers
Reporting and notifications on payments received
Automatic currency conversion when your customer's currency doesn't match the payment processor (e.g. selling
in USD via Paystack, which only settles in ZAR)
Watch this quick walkthrough to see the full setup and a live checkout end-to-end:
Systeme.io uses tags to power automations on contacts. CheckoutJoy uses this to grant access to a product
when a customer completes a purchase through our checkout pages.
In Systeme.io, your setup will include creating a Tag, and setting up an automation that enrolls a contact
in a course (or grants community / membership access) when the contact is assigned that specific tag.
In CheckoutJoy, you will set up a checkout page that is also linked to the tag that you created in Systeme.io.
When a customer completes a checkout on your checkout page, CheckoutJoy will look up the contact in Systeme.io
(and create them if they don't exist) and assign the tag to the contact. This will kick off the Systeme.io
automation to enroll the customer in your course, community or membership.
If you later refund the purchase in CheckoutJoy, we'll automatically remove the same tag from the contact, so you can
configure a follow-up automation in Systeme.io to revoke access if needed.
And that is it! You have now completed a sale for your Systeme.io product using a payment option that your
customers know and trust!
In your Systeme.io dashboard, navigate to Contacts > Tags and click Create. Give the tag a unique name
(for example, cj-vip-course) so you can recognise it later.
In the next step we'll set up an automation that enrols the customer in your product when a contact is assigned
this tag.
Now set up an automation that grants access to your course, community or membership when a contact is
assigned that tag.
Systeme.io offers two automation types under the Automations menu:
Rules — simple "if this, then that" triggers. This is all you need for the CheckoutJoy integration.
Workflows — multi-step, branching automations (similar to a Zap in Zapier). Use these only if you want to
chain additional actions after the tag is applied.
Go to Automations > Rules and click Create.
Set the trigger to "Tag added" and pick the tag you created in Step 1.
Add the action that grants access to your product — for example, "Enroll in course", "Grant access to
a community" or "Grant access to membership".
Save the automation and make sure it is active — Systeme.io does not retroactively trigger
automations on tags that were applied before the automation was activated.
The Systeme.io Free plan is limited to a single active rule per account. If you're on the Free plan and
already have a rule set up, you may need to upgrade your Systeme.io plan to add another one.
CheckoutJoy needs a Public API key to apply tags to your contacts on your behalf.
In Systeme.io, click your user icon (top-left) and select Settings.
Scroll down to the MCP and API keys section.
Under Public API key, click Create API key, give it a name (for example, CheckoutJoy), leave the
expiration date empty (or set one if you want to rotate the key on a schedule), and copy the generated key.
Keep this tab open — you'll paste this key into CheckoutJoy in the next step.
Systeme.io allows a maximum of 2 API keys per account. If you already have two, either re-use one or delete
an unused one before creating a new key.
That's it for your Systeme.io setup! Now move over to CheckoutJoy.
The following steps must be performed in your CheckoutJoy account
A Product in CheckoutJoy is used to set pricing and currency information for your Systeme.io products.
You need a product in CheckoutJoy for every course, community or membership that you want to sell.
Navigate to Products and click Create Product.
Pick systeme.io as the product type.
Complete the form:
Setting
Value
Name
A unique name to identify your product. This doesn't have to match the name of the course in Systeme.io.
Activation Tag
Select the tag that you configured the automation for in Systeme.io. This is the tag CheckoutJoy will apply to the contact after a successful purchase.
Pricing
Configure your product pricing and currency options.
Thank you page redirect
Configure the page where customers are taken after completing a purchase.
The Activation Tag dropdown is populated by calling the Systeme.io API directly — if it's empty, double-check
that the API key from Step 4 is saved and that you've created at least one tag in Systeme.io.
To sell Systeme.io products you need a checkout page in CheckoutJoy. From your Systeme.io site (or anywhere
else you link your customers), your customers are taken to the CheckoutJoy checkout page for checkout, and
after checkout they will be redirected to a thank-you page that you configure.
Navigate to Pages in your CheckoutJoy dashboard and create a new page using one of the prebuilt
templates.
Once the Page Editor opens, navigate to Settings > Checkout Settings and select the product that
you want to sell on the page. The dropdown contains all the products you've configured in CheckoutJoy.
Go to Sections on the left-hand menu to open the checkout page content editor. Make the required
changes to your page content.
Save and Publish your page to make the changes live.
If you want to edit the URL of the checkout page, go to Settings > Page Settings and change the URL of the
page. You can also connect a custom domain to link your pages to a subdomain of your website — e.g.
https://checkout.yourdomain.com/.
When a payment is refunded in CheckoutJoy, we automatically remove the activation tag from the contact in
Systeme.io. If you want to revoke access on refund, set up an automation in Systeme.io with the trigger
"Tag removed" pointing to the same tag, and add the action that revokes access to the course, community or
membership.