Every email list starts with a form, and ActiveCampaign forms are the front door to your email marketing. You can have the most sophisticated automation sequences, the best segmentation strategy, and a perfectly tuned sending schedule - but none of it matters if people cannot subscribe in the first place. How you build those forms directly impacts how fast your list grows and how qualified those subscribers are.
ActiveCampaign includes a built-in form builder across all plans, starting with the Starter tier at $15 per month - see the pricing page for the full tier comparison. Unlike standalone form tools that require a separate subscription and integration setup, ActiveCampaign forms connect directly to your contact lists, tags, custom fields, and automations. A subscriber fills out your form and within seconds they can be tagged, added to a list, and enrolled in a welcome sequence - no Zapier or middleware required.
This guide covers everything you need to build high-converting ActiveCampaign forms from scratch, whether you are starting from a blank canvas or a saved form template. You will learn the four form types and when to use each one - inline, modal popup form, floating bar, and floating box - walk through the form builder step by step, set up automations triggered by form submissions, and optimize your forms for better conversion rates. Whether you are creating your first signup form, building a basic contact form, or overhauling an existing one that is underperforming, this guide gives you a clear path from blank canvas to live form collecting subscribers.
Why ActiveCampaign Forms Matter for List Growth
ActiveCampaign forms are the most reliable and scalable way to build an email list for email marketers. Social media followers can disappear overnight when an algorithm changes. Paid ad audiences belong to the platform, not to you. But an email subscriber who opted in through your form is a direct line of communication you own and control.
The quality of your forms determines two things: how many people subscribe and how qualified those subscribers are. A generic “Subscribe to our newsletter” form buried in a footer will collect a trickle of disengaged contacts. A well-placed form with a compelling offer, minimal fields, and smart timing will capture subscribers who actually want to hear from you - and who are far more likely to open, click, and buy.
ActiveCampaign forms give you a direct pipeline into the rest of the platform - and into the broader catalog of ActiveCampaign integrations. When someone submits a form, you can automatically tag them based on which form they used, add them to a specific list, populate custom fields with their responses, and trigger an automation that sends a welcome email within minutes. If a lapsed contact fills out an embed form on your blog, you can also resubscribe them to the right list without manual cleanup. This tight integration is what separates a form builder bolted onto an email tool from one built into the core of the ActiveCampaign email marketing platform.
The bottom line: every percentage point improvement in your form conversion rate compounds over time. If your site gets 10,000 visitors a month and you improve form conversion from 1% to 2%, that is an extra 1,200 subscribers per year - without spending a single additional dollar on traffic.
ActiveCampaign Forms: Four Form Types Explained
ActiveCampaign offers four distinct form types, each designed for different placement strategies and user behaviors. Choosing the right type for each situation is the first step toward higher conversion rates.

For benchmark inline form performance data across industries, see Databox’s email list growth benchmarks.
Inline Form. This is the standard form that embeds directly into your page content. It sits wherever you place the embed code - inside a blog post, on a landing page, in a sidebar, or within a dedicated signup section. Inline forms are the most versatile type and the one you will use most often. They are always visible, do not interrupt the browsing experience, and work well on both desktop and mobile. Use inline forms for permanent placements like your homepage, blog sidebar, about page, or footer.
Modal (Popup) Form. Modal forms appear as an overlay on top of your page content, dimming the background and demanding attention - NN/g’s research on modal dialogs shows they are the most disruptive UI pattern available, which is exactly what makes them convert. They are triggered by specific actions - page load delay, scroll percentage, or exit intent (when the visitor moves their cursor toward the browser’s close button). Modals are the highest-converting form type because they are impossible to ignore. Use them for your primary lead magnet offer, time-sensitive promotions, or exit-intent captures. The tradeoff is that they interrupt the user experience, so use them selectively.
Floating Bar. This is a thin horizontal bar that sticks to the top or bottom of the browser window as visitors scroll. It remains visible without blocking content, making it one of the least intrusive form types. Floating bars work well for site-wide announcements (“Get 20% off - enter your email”), simple newsletter signups, or as a secondary capture point that complements a primary inline form elsewhere on the page. They typically include just an email field and a submit button due to the limited vertical space.
For UX research on overlay placements, NN/g’s popup discoverability study covers timing and placement tradeoffs in detail.
Floating Box. A small widget that sits in the bottom corner of the screen (usually bottom-right). It is more noticeable than a floating bar but less disruptive than a modal. Floating boxes are ideal for a subtle “need help?” or “subscribe for updates” prompt that stays available as visitors browse without covering content. They work particularly well on content-heavy pages where you do not want to interrupt reading flow.
| Form Type | Best For | Intrusiveness | Conversion Rate | Mobile Friendly |
|---|---|---|---|---|
| Inline | Permanent placements, blog content | Low | Medium | Yes |
| Modal | Lead magnets, exit intent | High | Highest | Moderate |
| Floating Bar | Site-wide offers, simple signups | Low | Medium-Low | Yes |
| Floating Box | Subtle prompts, support offers | Medium | Medium | Moderate |
For benchmark form conversion data by industry, the WPForms 2024 conversion benchmark report is a useful baseline.
Which type should you start with? If you are building your first form, start with an inline form on your highest-traffic page. Once that is live and collecting subscribers, add a modal with exit-intent triggering as your second form. This two-form combination covers both passive capture (inline) and active capture (modal) without overwhelming your visitors.
Creating Your First Form
Building a form in ActiveCampaign takes about five minutes once you know where everything lives. Here is the step-by-step process.
Step 1: Navigate to the form builder. Go to Website > Forms in the left sidebar. Click the Create a Form button in the upper right corner. If this is your first form, you will see an empty state with a prompt to get started.
Step 2: Name your form and choose a type. Give your form an internal name that tells you exactly what it is and where it goes - something like “Homepage Newsletter Signup” or “Blog Sidebar Lead Magnet.” Descriptive names save you from confusion later when you have a dozen forms running. Select one of the four form types (inline, modal, floating bar, or floating box) from the options presented.
Step 3: Choose a form action. ActiveCampaign asks what should happen when someone submits the form. Your options are:
- Subscribe to a list - The most common action. Select which list new subscribers should be added to
- Add a tag - Attach a tag to anyone who submits this form. Useful for tracking which form a contact came from
- Both - Subscribe to a list and add a tag simultaneously. This is the recommended approach for most forms
For broader patterns on segmenting subscribers by source, see our segmentation strategies guide.
Step 4: Select or create a list. Choose an existing list from the dropdown or create a new one. Every form submission must be associated with at least one list - this is how ActiveCampaign manages consent and unsubscribe preferences.
Step 5: Customize the design. After completing the initial setup, you land in the form builder where you can add fields, change colors, edit button text, and configure form behavior. The next section covers the builder in detail.
If you also want the form to feed an automated welcome series, the email automation workflows guide covers ten proven sequences to layer on top.
Step 6: Save and get the embed code. When your form looks right, click Integrate at the top of the builder. ActiveCampaign provides several embed options - full HTML embed, JavaScript snippet, link URL, and WordPress shortcode. Copy the code and paste it into your website. The form is now live.
Form Builder Deep Dive
The ActiveCampaign form builder is a drag-and-drop interface that gives you control over every field, label, and style option. Understanding what is available here helps you build forms that collect the right data without overwhelming subscribers.

Adding and removing fields. The builder starts with an email field by default - this is the only required field and cannot be removed. To add more fields, click the Add a field button and choose from standard fields (first name, last name, phone, organization) or any custom fields you have created under Contacts > Manage Fields. Drag fields to reorder them.
Field types available:
- Text input - Single line for names, company, job title
- Text area - Multi-line for comments, messages, or open-ended questions
- Dropdown - Select one option from a predefined list
- Radio buttons - Choose one option from a visible list
- Checkboxes - Select multiple options (useful for interest-based segmentation)
- Date field - Calendar picker for dates
- Hidden field - Invisible to the visitor but passes data on submission (covered in advanced features)
For accessibility-first form patterns (labels, focus management, error states), the W3C WAI Forms Tutorial is the authoritative reference.
Required vs optional fields. Click on any field to open its settings, then toggle the Required checkbox. Make only the fields you truly need required. Every additional required field reduces completion rates. For most signup forms, email alone is sufficient. Add first name if you plan to use personalization in your emails. Everything else should be optional or collected later through progressive profiling.
Field validation. ActiveCampaign automatically validates email fields for proper format. For phone fields, you can enable format validation in the field settings. Custom validation rules are not available in the native builder - if you need advanced validation (like zip code formats or company domain restrictions), you will need to handle that via custom CSS or JavaScript after embedding.
Styling options. The form builder includes style controls for background color, font family, font size, field border radius, button color, and button text. Click Style at the top of the builder to access the design panel. You can also toggle between light and dark themes as a starting point. For pixel-perfect control beyond what the builder offers, you can add custom CSS after embedding the form on your site.
Button text. The default submit button says “Submit” - change this to something action-oriented. “Get My Free Guide,” “Join the Newsletter,” “Start My Trial,” or “Send Me the Tips” all outperform generic submit buttons. The button text should reinforce the value the subscriber is getting, not describe the mechanical action of clicking.
Advanced Form Features
Once you have the basics down, ActiveCampaign forms offer several advanced capabilities that let you collect better data and create more sophisticated subscriber experiences.
Conditional fields. You can show or hide form fields based on how a visitor answers a previous question. For example, if someone selects “Agency” from a dropdown asking about their business type, you could reveal an additional field asking about their team size. Conditional logic keeps forms short for most visitors while collecting deeper data from specific segments. Set this up by clicking on a field and configuring visibility conditions in the field settings panel.
Hidden fields. Hidden fields are invisible to the visitor but capture data automatically when the form is submitted. Common uses include tracking the page URL where the form was submitted (so you know which content converts), passing UTM parameters from the page URL into contact fields (so you know which campaign drove the signup), and tagging contacts with a source identifier without displaying it on the form. Add a hidden field, set its default value to a static string or use JavaScript to dynamically populate it from URL parameters.
For dynamic UTM-to-field mapping patterns, the ActiveCampaign forms API reference documents which fields accept URL-driven defaults.
Pre-filled values. If you are linking to a page with an embedded form, you can pre-fill field values using URL parameters. This is useful for personalized landing pages where you already know some information about the visitor - their name from an ad click, their company from a referral link, or their interest from the content they were reading. The format follows ActiveCampaign’s URL parameter structure, which you can find in their developer documentation.
For more on tracking conversions on the thank-you page itself, see Google Analytics 4 conversion event setup.
Custom thank-you pages. By default, ActiveCampaign displays a “Thank you for subscribing” message within the form itself after submission. You can change this to redirect subscribers to a custom URL instead. Navigate to Options > Form Action in the builder and select “Open a URL” to specify your thank-you page. Custom thank-you pages are powerful because they let you deliver a lead magnet download, present an upsell offer, ask the subscriber to confirm via email, or track conversions in analytics tools like Google Analytics or Facebook Pixel.
Double opt-in. ActiveCampaign supports double opt-in (also called confirmed opt-in) where new subscribers receive a confirmation email and must click a link before being added to your list. Enable this under Options > Opt-in confirmation in the form builder. Double opt-in reduces list size slightly but dramatically improves list quality - every contact on your list has actively confirmed they want to hear from you, which improves deliverability and engagement rates. It is also required for GDPR compliance when collecting subscribers from the European Union.
Embedding Forms on Your Website
After building your form, you need to get it onto your website. ActiveCampaign provides several embedding methods, each suited to different technical setups.
Full HTML embed. Click Integrate in the form builder and copy the HTML code block. Paste this directly into your website’s HTML where you want the form to appear. This method works on any website regardless of platform - HTML sites, custom CMS builds, Squarespace, Wix, Shopify stores, or anything that lets you edit HTML. The form renders with the styles you configured in the builder.
For more on free trial setup before you start embedding, see the ActiveCampaign free trial.
JavaScript embed. This is a lighter code snippet that loads the form dynamically. It is a single line of JavaScript that fetches and renders the form from ActiveCampaign’s servers. The advantage is a smaller code footprint and automatic updates - if you change the form in ActiveCampaign, the changes appear on your site without re-embedding. The downside is a slight loading delay since the form loads after the page.
WordPress plugin. If your site runs on WordPress, install the official ActiveCampaign plugin from the WordPress plugin directory. Once activated and connected to your account, you can embed any form using a shortcode or the Gutenberg block. The plugin also handles site tracking and event tracking automatically. See the ActiveCampaign WordPress Integration guide for the full setup walkthrough.
Link sharing. Every form gets a unique hosted URL you can share directly. This is useful for social media bios, email signatures, QR codes, or anywhere you cannot embed HTML. The hosted form page is basic in design but functional, and submissions flow into your account identically to embedded forms.
Iframe embed. For situations where you want to embed the form inside an iframe (common on some website builders that restrict custom JavaScript), ActiveCampaign provides an iframe code option. This isolates the form in its own frame, which prevents style conflicts with your site but also limits how well the form blends visually with your page design.
Testing your embed. After placing the form on your site, test it by submitting a real entry with your own email. Verify that the contact appears in your ActiveCampaign account under the correct list, with the right tags, and that any automations you connected are triggered. Check the form on mobile devices too - resize your browser or test on an actual phone to confirm the fields, button, and layout work at smaller screen widths.
Form Automations
The real power of ActiveCampaign forms shows up when you connect them to automations. Instead of just collecting email addresses into a static list, form submissions can trigger entire sequences that engage new subscribers automatically.

Setting up a form trigger. Navigate to Automations > Create an Automation. Choose “Start from Scratch” or browse the automation recipes for form-related templates. For the trigger, select “Subscribes to a list” or “Submits a form” - the second option lets you trigger different automations based on which specific form was submitted. This distinction matters when you have multiple forms for different lead magnets or offers.
For deeper deliverability patterns once subscribers start arriving, the deliverability guide covers list hygiene from day one.
Tagging contacts on submission. The simplest automation adds a tag to every new subscriber from a specific form. Create an automation with a form submission trigger, then add a single action: Add Tag. Use descriptive tags like form:homepage-signup, form:ebook-download, or form:webinar-registration. These tags let you segment contacts later and track which forms drive the most valuable subscribers.
Adding to lists automatically. While you can assign a list during form creation, automations let you add contacts to additional lists based on conditions. For example, someone who downloads an ebook about email marketing could be added to both your general newsletter list and a more targeted “Email Marketing Interest” list. Use the Subscribe to List action inside your automation.
If you need help writing those follow-up emails, the AI brand kit guide covers using ActiveCampaign’s AI tools to generate on-brand copy quickly.
Sending welcome emails. A welcome email sent within minutes of signup gets the highest open rates of any email you will ever send - typically 50% or higher. In your form-triggered automation, add a Send Email action immediately after the trigger. Write a welcome email that delivers on whatever you promised in the form (a download link, a discount code, access instructions) and sets expectations for future emails. The ActiveCampaign email campaign setup guide covers how to design and write effective emails for these sequences.
Three automation recipes for forms:
Recipe 1: Lead Magnet Delivery. Trigger: form submission. Actions: (1) Tag contact with lead-magnet:ebook-name, (2) Send email with download link, (3) Wait 2 days, (4) Send follow-up email asking if they found the resource helpful, (5) Wait 3 days, (6) Send email introducing your paid product or service.
Recipe 2: Webinar Registration. Trigger: form submission on webinar registration form. Actions: (1) Tag with webinar:upcoming, (2) Send confirmation email with calendar invite link, (3) Wait until 1 day before webinar, (4) Send reminder email, (5) Wait until 1 hour before, (6) Send final reminder with join link. After the webinar, update the tag to webinar:attended or webinar:missed based on attendance data.
Recipe 3: Interest-Based Segmentation. Trigger: form submission where the form includes a checkbox field asking about interests (e.g., “I am interested in: Marketing, Sales, Support”). Actions: (1) If/Else condition checking the checkbox value, (2) Add specific tags based on selected interests (interest:marketing, interest:sales, interest:support), (3) Send a personalized welcome email that references their selected interest. This creates targeted segments from the moment a contact subscribes, which you can further refine with lead scoring to prioritize your most engaged contacts.
Optimizing Form Conversion
Building a form is step one. Optimizing it to convert more visitors into subscribers is where the ongoing work happens. Small changes to your forms can produce significant improvements in signup rates.

If your forms feed a sales pipeline rather than just a newsletter, our deal pipeline guide shows how to auto-create CRM deals from form submissions.
Reduce the number of fields. This is the single highest-impact change you can make. Every field you add increases friction and reduces completions. Industry benchmarks show that reducing from four fields to two can increase conversion rates by 25% or more. For most signup forms, ask for email only. Collect additional data through progressive profiling - follow-up emails that ask for preferences, or automations that append data based on behavior.
Write action-oriented CTA copy. Replace “Submit” with copy that communicates value. Instead of describing what the button does mechanically, describe what the subscriber gets. “Get the Free Template” outperforms “Download.” “Start My Free Trial” outperforms “Sign Up.” “Send Me Weekly Tips” outperforms “Subscribe.” Test different CTA variations to find what resonates with your audience.
Optimize form placement. Where your form appears on the page matters as much as how it looks. High-converting placements include above the fold on landing pages, within blog content (after the introduction or at the midpoint), at the end of articles where engaged readers naturally look for next steps, and as exit-intent modals that catch leaving visitors. Avoid placing forms only in the footer where few visitors scroll.
A/B test your forms. ActiveCampaign does not include native form A/B testing, but you can test manually by creating two versions of a form with different headlines, field counts, or CTA copy. Embed version A on half your pages and version B on the other half, then compare submission rates after a few weeks. Alternatively, use third-party tools like Google Optimize or Optimizely to run proper split tests on pages containing your forms.
Optimize for mobile. More than half of web traffic comes from mobile devices - Statista mobile traffic data tracks the trend. Test your embedded forms on phones and tablets to verify that fields are large enough to tap, the keyboard does not obscure the form, the submit button is easily reachable, and the form does not require horizontal scrolling. Inline forms generally perform best on mobile because they are part of the page flow. Modals can be problematic on mobile if they are difficult to close - if you use them, ensure the close button is prominent and easy to tap.
Add social proof near your form. Placing subscriber counts (“Join 15,000 marketers”), testimonials, or trust badges near your form increases conversion by reducing uncertainty - CXL Institute research on social proof documents lift ranges from 12% to 34% across tested treatments. People are more likely to subscribe when they see that others have already done so and found it valuable. You do not need a special feature for this - simply add text or images above or beside your embedded form in your page’s HTML.
Troubleshooting Common Issues
Even well-built forms occasionally run into problems. Here are the five most common issues and how to resolve them.
For tools that complement form-based CRO testing, Optimizely handles the experimentation layer most form builders cannot.
Form not displaying on your website. If your embedded form does not appear, first verify that you pasted the complete embed code - partial pastes are the most common cause. Check your browser’s developer console (right-click, Inspect, Console tab) for JavaScript errors that might indicate a conflict with other scripts on your page. If you are using the JavaScript embed method, ensure your site’s Content Security Policy allows loading scripts from ActiveCampaign’s domain. Try the full HTML embed as a fallback since it has fewer dependencies.
Form submissions not syncing to your contact list. If visitors submit the form but contacts do not appear in your ActiveCampaign account, check the form’s list assignment. Open the form in the builder, go to Options, and verify that a list is selected. Also check whether you have double opt-in enabled - if so, contacts will not appear as confirmed until they click the confirmation link in their email. Look under Contacts > Overview and filter by “Unconfirmed” to see if submissions are waiting for confirmation.
Styling conflicts with your website. ActiveCampaign forms bring their own CSS, which can conflict with your site’s stylesheet. Common symptoms include oversized fonts, misaligned fields, broken layouts, or invisible elements. The fix depends on the embedding method. For HTML embeds, add custom CSS in your site’s stylesheet using the form’s CSS class names to override ActiveCampaign’s default styles. For JavaScript embeds, you may need to wrap the form in a container with specific styles. Inspect the form elements in your browser’s developer tools to identify which styles are conflicting and apply targeted overrides.
GDPR consent field not appearing. If you need to collect explicit consent for GDPR compliance, you must add a consent checkbox field to your form manually. In the form builder, click Add a field and select the checkbox type. Label it with your consent language (e.g., “I agree to receive marketing emails and accept the privacy policy”). Make this field required. Link the checkbox label to your privacy policy page. Additionally, enable double opt-in under Options > Opt-in confirmation for an extra layer of verified consent that satisfies GDPR requirements.
Spam submissions filling your list. If you are receiving fake signups with gibberish emails or bot-generated submissions, enable the CAPTCHA option in your form settings - Google’s reCAPTCHA v3 documentation covers how the score-based filtering works behind the scenes. In the form builder, go to Options and toggle on the CAPTCHA setting. ActiveCampaign uses reCAPTCHA to verify human visitors. For more aggressive spam filtering, consider adding a hidden honeypot field - a field that is invisible to human visitors but gets filled in by bots. You can then create an automation that removes or unsubscribes contacts who have a value in the honeypot field.
Frequently Asked Questions
Can I use ActiveCampaign forms on the Starter plan?
Yes. ActiveCampaign forms are available on all plans, including the Starter plan at $15 per month. You can create inline forms, modals, floating bars, and floating boxes regardless of your plan tier. The only form-related limitation on lower plans is the number of automation actions you can trigger from form submissions - Starter plans are limited to 5 automation actions per workflow. Check the pricing page for the full feature breakdown by plan.
How many forms can I create in ActiveCampaign?
There is no limit on the number of forms you can create on any plan. You can build as many forms as you need for different pages, offers, and use cases. Each form can be connected to different lists, tags, and automations. The practical limit is your ability to manage and track them - use descriptive naming conventions so you can quickly identify each form’s purpose and placement, especially once you cross 20+ active forms.
Can I connect multiple automations to a single form?
Yes. You can create multiple automations that all use the same form as their trigger. This is useful when a single form submission should kick off several independent workflows - for example, one automation sends the welcome email, another notifies your sales team, and a third adds the contact to a nurture sequence. Each automation operates independently, so a failure in one does not affect the others.
Does ActiveCampaign support multi-step forms?
ActiveCampaign’s native form builder does not support multi-step or multi-page forms out of the box. Each form is a single page. If you need a multi-step form experience, you have two options: build a custom multi-step form using HTML and JavaScript that submits data to ActiveCampaign via their API, or use a third-party form tool like Typeform or Jotform that integrates with ActiveCampaign. The integration passes form data into your ActiveCampaign contacts and can trigger the same automations as native forms.
Can I track which form a contact came from?
Yes, and you should. The easiest method is to add a unique tag to each form’s submission action. When you create or edit a form, go to Options > Form Action and add a tag like form:homepage-signup or form:ebook-landing-page. This tag attaches to every contact who submits that specific form. You can then segment contacts by form source, compare conversion quality across forms, and identify which forms drive the most engaged subscribers.
How do I make my ActiveCampaign forms GDPR compliant?
GDPR compliance for forms requires three elements: explicit consent (a required checkbox where the subscriber actively agrees to receive communications), a link to your privacy policy explaining how their data will be used, and double opt-in confirmation so the subscriber verifies their email address. In ActiveCampaign, add a required checkbox field with consent language, include a hyperlink to your privacy policy in the field label, and enable double opt-in under Options > Opt-in confirmation. Also make sure your ActiveCampaign account has your physical mailing address configured under Settings > Branding, as this is required in email footers under both GDPR and CAN-SPAM regulations.
Want to learn more about ActiveCampaign?
The Bottom Line
ActiveCampaign forms are the entry point for every contact in your list, so the design choices you make here compound. Pair a high-converting form with the deeper ActiveCampaign automation stack and you turn casual visitors into segmented, nurtured subscribers without manual work. For more advanced split testing, Optimizely handles the experimentation layer most form builders cannot.
Related Guides
- ActiveCampaign Getting Started Guide
- ActiveCampaign Email Automation Workflows
- ActiveCampaign Segmentation Strategies
- ActiveCampaign Lead Scoring Guide
- ActiveCampaign Conditional Content Guide
Related Reading
External Resources
- ActiveCampaign Forms Help Center - Official documentation for the form builder, embedding, and form actions
- ActiveCampaign Forms API Reference - REST API for programmatic form creation and submission handling
- GDPR Compliance Checklist - Authoritative reference for what consent fields and privacy disclosures your forms must include in the EU
Related Guides
- Activecampaign AI Content Generation: Complete 2026 Guide
- ActiveCampaign AI Features: Active Intelligence Guide
- Activecampaign Automation Builder: Complete 2026 Guide
- Activecampaign Brand Kit: 2026 Walkthrough for Teams
- ActiveCampaign Conditional Content: Personalization Guide
- ActiveCampaign CRM Setup: How to Set Up ActiveCampaign CRM
- ActiveCampaign Deals Pipeline: Stages & Automation
- ActiveCampaign Deliverability: Best Practices Guide
- ActiveCampaign Email Automation: 10 Workflows That Work
- ActiveCampaign Email Campaign Setup: Step-by-Step Guide