Everything you need to launch high-converting sales funnels, automate customer tags, configure 1-click upsells, and deliver products on autopilot.
Normally, running an online business requires 4 or 5 different software tools: one to build pages, another to send emails, a third to take payments, and a fourth to deliver courses. Systeme.io combines all of these into one unified platform.
Before sending traffic or taking payments, you need a professional domain (e.g., hub.yourbrand.com) and verified email address to ensure your transactional receipts and login details reach inboxes instead of spam.
Every step in your funnel has a specific technical Step Type. Choosing the correct type ensures buttons perform the right action (for example, only an Order form can take payments, and only an Upsell step can run 1-click charges).
| Step Type | What It Does | Key Elements on Page | Where It Sends the Visitor |
|---|---|---|---|
| Squeeze Page | Collects Name & Email | Input fields + Submit button | Advances to the next step |
| Order Form | Processes payments & saves card | 1-Step or 2-Step Payment Block | Advances to Upsell or Thank You step |
| Upsell (OTO) | 1-Click upgrade charge | Accept button + Decline link | Next upsell or delivery page |
| Thank You Page | Delivers access & downloads | Download buttons & links | Final page (no further automated redirects) |
| Info / Bridge | Explains an offer or shares a video | Standard text, video, & CTA links | Points to whichever URL you set on the button |
Follow these click-by-click instructions to build a complete customer journey from opt-in to checkout, upsell, and product delivery.
Upsell steps require specific underlying form elements to process stored payment tokens. If a custom HTML template replaces native buttons entirely, the page cannot trigger the charge. The Hybrid Protocol keeps the required buttons in the page code while displaying your custom visual design.
Systeme.io uses Resources to manage course access. Resources automatically grant access when an order is completed and revoke it if a payment is refunded or disputed.
| Delivery Method | How It Activates | Refund Handling | Best Used For |
|---|---|---|---|
| Direct Resource | Attached to Step / Price Plan | Automatic (Locks course instantly) | Courses, Bundles, Communities |
| Automation Rule | Triggered by page events | Manual (Requires separate rule) | Tagging contacts, starting email series |
Automations handle repetitive tasks behind the scenes. You can use simple Rules for direct single actions or Workflows for branching multi-day email campaigns.
When using custom code blocks inside Systeme.io, following these three rules ensures pages render cleanly and avoids editor validation errors.
Reference this guide to resolve common setup questions and configuration errors.
| Issue | Why It Happens | How to Fix It |
|---|---|---|
| "Not valid code" error when saving HTML | Code contains <!DOCTYPE>, <html>, or <body> wrappers. | Remove outer document shells. Keep only the <style> block and root <div>. |
| Upsell button takes the buyer back to checkout | Button is set to an external web address instead of the native submit action. | Set button action to Submit form (or Accept upsell) with custom redirection set to the next step. |
| Page loads inside a small nested box | Missing target="_top" attribute on anchor tags. | Add target="_top" to your link tags (<a href="..." target="_top">). |
| Customer bought a product but received no login email | Course was not attached under Digital product / Resources on the step dashboard. | Go to step configuration $\rightarrow$ Under Resources, click `+` $\rightarrow$ Attach the Course with Full access. |
| Mobile layout clips or overflows horizontally | Fixed pixel widths (e.g., width: 900px;) used in custom CSS. | Use fluid dimensions like width: 100%; max-width: 960px; with CSS clamp() for responsive sizing. |