Find answers about every feature of Cruxtab Form Builder — from getting started to advanced integrations and troubleshooting.
Learn the basics — what the app does, how to install it, navigate the dashboard, and create your first form.
Cruxtab Form Builder is a Shopify app that lets you create custom forms for your online store — contact forms, order forms, surveys, bookings, and more. It features a drag-and-drop builder, 31 ready-made templates, AI-powered form generation, and seamless integration with your Shopify storefront.
Install the app directly from the Shopify App Store. Once installed, it will appear in your Shopify admin sidebar under Apps. The app handles authentication automatically using your Shopify account — no separate login required.
Your dashboard gives you a quick overview of your form activity, including:
There are three ways to create a form: click Create Form from the dashboard, go to Forms → New to open the drag-and-drop builder, or browse the Template Catalog to start from a pre-built design. You can also describe what you need and let our AI generate a form for you.
The app has a sidebar navigation with links to your Dashboard, Forms (list and builder), Submissions, Pricing, and Settings. The Forms section includes sub-pages for creating new forms and browsing templates.
Yes! Go to your Forms list and click on any form to open it in the builder. All your fields, settings, design choices, and integrations will be loaded so you can make changes and save again.
When you uninstall the app, all your data is permanently deleted — including forms, submissions, uploaded files, and session data. This cleanup happens automatically to protect your privacy. Make sure to export any submissions you need before uninstalling.
Not at all. The drag-and-drop builder is designed for merchants of all skill levels. Simply drag fields onto your form, configure them in the settings panel, and publish. No coding required — though advanced users can use the HTML field for custom content.
Yes. The app uses a Shopify Theme App Extension to render forms on your storefront. This works with all Online Store 2.0 themes. Forms can be displayed inline on any page, as a floating button, or as a popup modal.
Pro plan subscribers get priority support. All merchants can reach out through the app's support channels. For common issues, check our Troubleshooting FAQ section for quick solutions to the most frequent questions.
Everything about the drag-and-drop builder — adding fields, editing settings, saving, reordering, and managing your forms.
The builder has three panels: a left sidebar with your field library, a center canvas where you build your form, and a right panel for field settings. Simply drag fields from the sidebar onto the canvas, then click any field to configure it.
Drag any field type from the left sidebar and drop it onto the form canvas. Fields are organized into categories like Contact Info, Selects, Input, Text, Ratings, and more. You can also reorder fields by dragging them within the canvas.
Fields are grouped into nine categories:
Click on any field in the canvas to select it. The right panel will show its settings, including label, placeholder, description, required toggle, column width, and type-specific options. Changes are reflected in real time on the canvas.
Every field has common settings like label, placeholder, description, required toggle, and column width (100% or 50%). Depending on the field type, you'll also see options for validation rules, min/max values, option lists, input icons, and conditional display rules.
Yes! You can create row layouts to display fields side by side. Set a field's column width to 50% to make it share a row with another field, or use the row container to group 2 to 10 fields horizontally. This is great for name fields (First + Last) or address layouts.
Select any field on the canvas and click the Duplicate button. A copy of the field with all its settings will be added to your form. This saves time when you need similar fields with slight variations.
Select the field on the canvas and click the Delete button. The field and all its settings will be removed from your form immediately.
Click the Save button in the form builder. The app validates your form name, header, content pages, and footer before saving. If you're editing an existing form, it updates in place. New forms get a unique 8-character form ID automatically.
Go to your Forms list and click on the form you want to edit. It opens in the builder with all your fields, settings, design, integrations, and email config loaded and ready to modify.
Yes. Simply drag and drop fields within the canvas to change their order. The builder supports full drag-and-drop reordering, so you can rearrange your form layout at any time.
The form builder has several tabs beyond the field canvas:
Yes. The form builder includes a live preview component that shows you exactly how your form will look with all field types rendered, including your design and appearance settings.
There is no strict field limit per page, but for AI-generated forms, there's a cap of 20 elements per page and 5 pages maximum. For manually-built forms, you can add as many fields as you need, though keeping forms concise tends to improve completion rates.
Yes. In the field settings panel, there's a Hide Label toggle that lets you hide the label from displaying on the form. This is useful when you want a cleaner look or when the placeholder text is descriptive enough.
Yes. The field settings panel includes an input icon selection option. The app comes with over 200 SVG icons to choose from, letting you add visual cues to your input fields.
Your form structure includes a header section (typically for the form title and description) and a footer section. Both are part of the form's page configuration and can be customized in the builder.
Unsaved changes will be lost if you navigate away from the form builder. Make sure to save your form before leaving the page. The builder uses in-memory state, so everything is held locally until you hit Save.
Yes. Every field has a Required toggle in the settings panel. When enabled, the form cannot be submitted until the visitor fills in that field. Required validation happens both on the storefront and server-side.
Go to your Forms list, select the form(s) you want to remove, and use the Delete action. The app supports bulk deletion and will also clean up any associated metafields from your Shopify store.
Details on every available field type — from email and text to signatures, matrices, file uploads, and color pickers.
The Email field collects email addresses with built-in email validation. It's also used by the auto-responder feature — you can select an email field as the recipient for automatic thank-you emails after submission.
The Text field is a single-line input for collecting short text like names, titles, or any freeform answer. It's one of the most versatile fields and supports placeholders, descriptions, and required validation.
The Tel field is designed for collecting phone numbers. It uses the telephone input type, which prompts mobile users to open their numeric keypad for easier entry.
The Select field displays a dropdown menu where visitors choose one option from your list. You can add, edit, and reorder options in the field settings. Great for things like departments, sizes, or categories.
The Checkbox field lets visitors select multiple options from a list. Each option gets its own checkbox, and all selected values are submitted together. Use it for things like interests, services, or multi-select preferences.
The Radio field presents a list of options where visitors can pick exactly one. Unlike checkboxes, only a single selection is allowed. It's ideal for questions like "How did you hear about us?" or preferred contact method.
The Consent field is a single checkbox used for terms, privacy policies, or marketing opt-ins. It's perfect for collecting explicit agreement before form submission, such as "I agree to the Terms of Service."
The Switch field is a toggle that represents a boolean yes/no choice. It's a clean, modern alternative to a single checkbox — great for preferences like "Subscribe to newsletter" or "Enable notifications."
The Range field shows a slider that visitors drag to select a value between a minimum and maximum. You can configure the min, max, and step values. It's useful for budgets, satisfaction scores, or quantity estimates.
The Button field displays a group of selection buttons. Visitors click a button to make their choice. It provides a visually prominent way to select from a set of options, similar to radio buttons but with a button-style appearance.
The Product field lets visitors search and select products from your Shopify catalog. It includes a product search, product display, and quantity selector. The submitted data includes the product title, handle, ID, and selected quantity.
The URL field collects web addresses with built-in URL validation. It's useful for collecting website links, portfolio URLs, or social media profiles from your visitors.
The Datetime field provides date pickers, time pickers, or combined date-and-time selectors. It's perfect for appointment bookings, event registrations, or delivery scheduling.
The Hidden field stores a value without displaying anything to the visitor. It's useful for passing metadata like page URLs, campaign IDs, or tracking codes along with the submission. Note: this field is not available via AI generation.
The Repeater field lets visitors dynamically add and remove rows of input. It's great for collecting lists of items — like multiple product names, guest names for an event, or line items in an order request.
The Signature field provides a canvas where visitors can draw their signature using a mouse or finger (on touch devices). The signature is exported as a PNG image and submitted with the form data.
The Textarea field provides a multi-line text area for longer responses like messages, feedback, or descriptions. It preserves line breaks in the submitted text, so formatting is maintained.
The Heading field adds a display-only heading to your form. Use it to create section titles or break your form into logical groups. It doesn't collect any data — it's purely for visual organization.
The Paragraph field adds display-only text to your form. Use it for instructions, explanations, or context between form fields. Like headings, paragraphs don't collect data.
The HTML field lets you insert custom raw HTML into your form. This is for advanced users who want to embed custom content, styled text, images, or other HTML elements. Note: this field is not available via AI generation.
The Divider field adds a horizontal line (rule) to your form for visual separation. It helps break long forms into sections and improve readability. No data is collected.
The Feedback field shows emoji-based options for visitors to express their sentiment. It's a quick, visual way to collect satisfaction or mood feedback — perfect for post-purchase surveys or support follow-ups.
The Matrix field creates a Likert-scale table with rows of questions and columns of answers. Each row can use radio buttons (single choice) or checkboxes (multiple choice). It's ideal for surveys and detailed feedback collection.
The Rating Level field displays a numeric level rating. Visitors select a level to indicate their rating. It's a straightforward alternative to star ratings for numerical scoring.
The Star Rating field lets visitors rate something on a 1-to-5 star scale. It's one of the most recognizable rating formats and is perfect for product reviews, service feedback, or experience ratings.
The File Upload field lets visitors attach files to their submission. You can restrict accepted file types and set size limits. Uploaded files are stored on AWS S3, and your monthly storage quota depends on your plan.
The Color Picker field provides a hex color selector. Visitors can choose a color using the browser's native color picker. The selected hex value is submitted with the form data.
The Color Swatch field displays predefined color options as visual swatches. Visitors click a swatch to select their choice. It's great for product customization or preference forms where you want to offer specific colors.
The Number field collects numeric values with optional min and max validation. It's useful for quantities, ages, budgets, or any input where you need a specific number from your visitors.
The Quantity field provides an increment/decrement number input with plus and minus buttons. It gives visitors a simple, click-friendly way to select a quantity without typing.
The Time 12 field provides a 12-hour time picker with separate dropdowns for hour, minute, and AM/PM. It's an intuitive time selector for booking forms, appointment scheduling, or event time preferences.
The Image Options field displays a grid of image cards with labels. Visitors can select one or multiple images depending on your configuration. It's perfect for visual product selection, style preferences, or design choices. Note: this field is not available via AI generation.
The Image Dropdown field is a dropdown menu that includes image thumbnails alongside text options. It's ideal when you need a compact selector but still want visual context — like choosing a product variant or a style option. Note: this field is not available via AI generation.
The Country field is a select dropdown pre-loaded with over 250 countries. Visitors simply pick their country from the list. No setup required — the country data is built into the app.
The Password field is a masked text input where characters are hidden as they're typed. It's useful for registration forms or any scenario where visitors need to enter a sensitive value.
Customize your form's look — layouts, styles, colors, fonts, backgrounds, width, and positioning options.
You have four layout options:
The app offers eight style presets: Classic, Classic Rounded, Material Filled, Material Outlined, Line, Line Rounded, Flat, and Flat Rounded. Each gives your form a distinct visual feel without any custom CSS.
Yes. You can customize several color settings including background color, text color, button color, button label color, and outline button color. This lets you match your form to your store's branding.
Yes. The app supports Google Fonts including popular choices like Inter, Roboto, Poppins, Montserrat, and more. Fonts are loaded from Google Fonts and applied to your entire form.
You can choose from three font size options: Small (14px), Medium (16px), and Large (18px). Pick the size that best fits your form's design and readability needs.
Yes. In the Design/Appearance tab, you can set a background image for your form instead of (or in addition to) a solid background color. Upload an image through the builder and it will display behind your form fields.
Yes. The form width is customizable — the default is 750px. You can adjust it to be narrower or wider depending on where and how you want the form to appear on your storefront.
For Float and Popup layouts, you can choose from 9 positions on the screen: top-left, top-center, top-right, middle-left, center, middle-right, bottom-left, bottom-center, and bottom-right. This gives you full control over where your floating button or popup appears.
In the form builder, click the Design/Appearance tab. This opens all layout, style, color, font, background, and positioning options in a single panel. Changes are reflected in the live preview so you can see the effect immediately.
Yes. All appearance settings — layout, style, colors, font family, font size, background, width, and position — are saved as part of the form's appearance configuration. They'll be preserved when you edit the form later and applied on the storefront.
Absolutely. Each form has its own independent appearance settings. You can have a minimalist contact form, a bold popup survey, and a branded order form — all with different layouts, colors, and fonts.
Yes. When you generate a form with AI, it creates a complete appearance configuration including style preset, font family, font size, and a WCAG AA-compliant color scheme matched to your form's purpose. You can always adjust the design afterward.
Generate forms from plain language descriptions using AI — how it works, supported fields, plan limits, and prompt tips.
Describe the form you want in plain language and our AI (powered by Claude) generates a complete form for you — including fields, appearance, colors, and after-submit settings. The generated form loads directly into the builder so you can review and customize it before saving.
There are two entry points:
The AI generates a complete form configuration including: form name, header, fields with appropriate types and options, footer, after-submit message, and a full appearance design (style, font, colors). It even creates WCAG AA-compliant color schemes matched to your form's purpose.
The AI can generate most field types including email, text, tel, select, checkbox, radio, consent, switch, range, button, URL, datetime, repeater, signature, textarea, heading, paragraph, divider, feedback, matrix, ratings, file upload, color fields, number, and quantity. Only image_options, image_dropdown, product, hidden, and html are excluded.
It depends on your plan:
Usage resets at the start of each calendar month.
Yes, absolutely. The AI-generated form loads right into the drag-and-drop builder. You can add, remove, reorder, or reconfigure any field, change the design, update the after-submit behavior, and connect integrations — just like any manually-built form.
Yes. The AI can generate forms with up to 5 pages and up to 20 elements per page. If your description calls for a longer form, the AI will organize it into logical pages with a stepper navigation.
Be specific about what you need. For example, instead of "make a form," try "Create a wedding RSVP form with guest name, email, number of guests, meal preference (chicken, fish, vegetarian), dietary restrictions, and a song request." The more detail you provide, the better the AI can match your needs.
Yes. The AI is smart enough to create row layouts for fields that logically go together, such as First Name and Last Name side by side. It uses the same row container structure as the manual builder.
Yes. All AI-generated output goes through input sanitization that strips HTML and scripts from every text value. Fields are validated and transformed using the same blueprints as manually-created fields, ensuring structural consistency and safety.
Browse and use 31 pre-built form templates across 9 categories to get started quickly.
The app comes with 31 pre-built form templates across 9 categories. Whether you need a contact form, booking form, survey, or order form, there's a template to get you started quickly.
Templates are organized into the following categories: Contact, Register, Popup, Booking, Order, Survey, Warranty, Wholesale, and Third-Party. You can browse by category using the tab navigation on the template page.
Go to Forms → Templates, browse by category, and click on the template you want. It will load into the form builder with all fields, layout, and design pre-configured. From there, you can customize everything to fit your specific needs.
Yes. Templates are just starting points. Once loaded in the builder, you have full control — add or remove fields, change the design, update labels, configure integrations, and adjust every setting. Treat it like any other form.
Yes. Each template comes with a pre-configured appearance including layout, style, and default styling. These are all customizable once you load the template into the builder.
The app supports template creation through the admin system. Custom templates are stored in the database with a unique template ID, category, title, description, and preview image. Check with your plan for template management capabilities.
On the template catalog page, you'll find an "AI Form Generator" card alongside the template grid. It has a text area where you can describe the form you want, and a "Generate with AI" button that creates a custom form based on your description.
Create multi-step forms with stepper navigation — adding pages, deleting pages, and plan requirements.
Yes! Multi-page forms let you break a long form into manageable steps. Visitors see a stepper navigation showing their progress, and they move through pages one at a time. This feature requires a Starter plan or higher.
In the form builder, use the page management controls to add a new page. Each page gets its own set of form fields. You can name each page and add fields independently — the stepper will display page names for visitors to track their progress.
The stepper appears at the top of your form and shows all page names with the current page highlighted. Visitors navigate forward and backward through pages. On the storefront, the stepper is fully styled and integrated with your form's design settings.
Yes. You can delete any page from your multi-page form using the page management controls in the builder. Deleting a page removes all fields on that page, so make sure to move any important fields to another page first.
Multi-page (multi-step) forms are available on Starter, Growth, and Pro plans. The Free plan is limited to single-page forms. Upgrade your plan in the Pricing section to unlock this feature.
After a successful submission, if you have the hide form after-submit action enabled, the stepper navigation is hidden along with the form, header, and footer. Only the success message remains visible to the visitor.
Publish forms to your storefront — page types, conflict detection, metafield sync, and unpublishing.
In the form builder, click the Publish button and select where you want the form to appear — your homepage, a specific page, or a product page. The app syncs your form to Shopify via metafields so the theme extension can render it automatically.
You can publish a form to three types of pages:
No. The app has conflict detection that prevents publishing multiple forms to the same page. If a form is already published to a specific page, you'll need to unpublish it first before assigning a different form to that location.
The app handles this automatically. When you publish an unsaved form, the system auto-creates the form first, then publishes it. The new form ID is returned to the builder so you can continue editing and saving normally.
You can unpublish a form through the form builder's publish settings. Unpublishing removes the form's metafield from Shopify, so it will no longer appear on your storefront. The form itself is not deleted — you can republish it anytime.
When a form is published (status "Active"), it's synced to a Shopify app metafield under the cruxtabFormBuilder namespace. The theme extension reads these metafields to render forms on your storefront — no API calls needed at render time.
You need to add the Form Builder theme extension block to the pages where you want forms to appear. Go to your Shopify theme editor, add the app block, and it will automatically display the form published to that page.
Your Forms list has tabs for All, Published, and Unpublished forms. The Published tab shows only forms that are currently live on your storefront, making it easy to manage what visitors can see.
Yes. When publishing, select the product page option and choose the specific product. The form will match the product handle and display on that product's page via the theme extension. Great for product-specific inquiries, custom orders, or pre-order forms.
The form builder uses a Shopify Theme App Extension, which is compatible with all Online Store 2.0 themes. Forms render natively within your theme, respecting your store's overall look and feel.
View, navigate, export, and analyze form submissions — per-form views, CSV/XLSX export, and analytics dashboards.
Go to the Submissions page from the sidebar. It shows a forms-centric index — you'll see a list of your forms with their submission counts. Click on any form to drill down into its individual submissions.
Click on any form in the Submissions index, or go to Forms → [Your Form] to open the per-form detail page. This shows all submissions for that form along with an analytics dashboard.
The detail view shows all submitted field data in a modernized card layout with labels and values. It also displays submission metadata including IP address, user agent, page URL, and page title, plus the submission timestamp.
Yes. The submission detail view includes Previous and Next navigation buttons, so you can step through submissions one by one without going back to the list. This makes reviewing multiple submissions much faster.
Yes. You can export submissions in CSV or XLSX format. This makes it easy to import data into spreadsheets, CRMs, or other tools for further analysis or record-keeping.
Each form has a detailed analytics dashboard showing:
You can delete submissions individually from the detail view, or use bulk delete from the submissions list. You can also delete all submissions for a specific form, or delete all submissions across your shop.
Every submission gets a unique sequential number starting from 10000. This global counter makes it easy to reference specific submissions in emails, support conversations, or records. The number appears in notifications via the {{id}} template variable.
Each submission stores: field answers (with field ID, type, label, and value for each), metadata (IP, user agent, page URL, page title), the form ID, shop, submission number, and timestamps.
Files uploaded through form submissions are stored on AWS S3. The submission data contains the file URL, filename, and file size. You can access uploaded files directly from the submission detail view.
Yes. The Dashboard shows a submissions trend chart and a table of your most recent submissions, giving you a quick overview without navigating to the full Submissions page.
Yes, submission limits depend on your plan:
The dashboard shows a progress bar with warnings at 80% and 90% usage.
Set up admin notifications and auto-responders — template variables, SMTP config, and multiple recipients.
The app supports two types of email notifications:
In the form builder, go to the Email Settings tab. Enable the admin notification, enter the recipient email addresses (comma-separated, up to 5), customize the subject line and HTML content, and save. You'll receive an email every time someone submits that form.
The auto-responder sends an automatic email to the visitor who submitted the form. You select which email field in your form to use as the recipient, then customize the subject and content. It's great for confirmation messages or thank-you notes.
You can use these variables in your email subject and content:
{{data}} — HTML table of all submitted field answers{{id}} — Submission number{{customer.name}} — Value from the name field{{customer.email}} — Value from the email field{{page.title}} — Page title where the form was submitted{{page.href}} — Page URL where the form was submittedYes. Enter up to 5 email addresses separated by commas in the admin notification "To" field. All recipients will receive the same notification email when a form is submitted.
Email sending requires SMTP configuration through environment variables: SMTP_HOST, SMTP_PORT, SMTP_SECURE, SMTP_USER, and SMTP_PASS. The app uses Nodemailer to send emails through your SMTP server (e.g., Gmail, SendGrid, or any SMTP provider).
Yes. Both admin notifications and auto-responder emails support full HTML content. You can include formatted text, images, links, and tables. Use the template variables to dynamically insert submission data into your email design.
Yes. Both email types have a Limit Content Width option with a configurable Max Width (default 600px). This ensures your email looks clean and readable on all devices and email clients.
No. Email sending is non-blocking — notifications are sent after the submission is saved. If an email fails to send, the submission is still recorded successfully. This ensures visitors always see a success response.
In the auto-responder settings, you'll see a "To Field" dropdown that lists all email fields in your form. Select the one you want to use as the recipient address. Make sure your form has at least one email field for this to work.
Connect Google Sheets, Mailchimp, Klaviyo, HubSpot, Slack, Zapier, reCAPTCHA, and more to your forms.
The app supports 10 integrations: reCAPTCHA, Google Sheets, Mailchimp, Klaviyo, HubSpot, Sendinblue (Brevo), Slack, Zapier, Google Analytics, and Facebook Pixel. Availability depends on your plan.
In the form builder, go to the Integrations tab. Click Connect on the integration card you want. A configuration modal will open where you enter the required credentials (API keys, webhook URLs, etc.). The config is validated before saving.
Integration access by plan:
No. Integrations run in parallel and non-blocking after the submission is saved. If an integration fails (network issue, invalid credentials), the form submission still succeeds. Integration results are returned in the response for debugging.
You'll need a Google Service Account. Enter the service account email, private key, spreadsheet URL, and sheet name in the config modal. Each form submission will append a new row to your specified spreadsheet. Available on Starter+ plans.
Enter your Mailchimp API key and List (Audience) ID in the integration config. When a form is submitted, the visitor's email will be subscribed to your selected Mailchimp audience. Available on Growth+ plans.
Enter your Klaviyo API key and List ID. On submission, the app creates a profile and adds the contact to your specified Klaviyo list. Available on Growth+ plans.
Enter your HubSpot API key and Portal ID in the integration config. When someone submits the form, the app creates or updates a contact in your HubSpot CRM. Available on Growth+ plans.
Enter your Sendinblue API key and List ID. On form submission, the contact is added to your specified Sendinblue list. Available on Growth+ plans.
Create a Slack Incoming Webhook URL for the channel where you want notifications, then paste it into the integration config. Each form submission will post a message to that Slack channel. Available on Pro plan only.
Enter your Zapier Webhook URL from a Zap's "Webhooks by Zapier" trigger. Each submission sends data to Zapier, where you can connect it to thousands of other apps. Available on Pro plan only.
reCAPTCHA protects your forms from spam and bots. Enter your Site Key and Secret Key from Google reCAPTCHA. The widget appears on your form, and submissions are verified server-side before being accepted. Available on all plans.
Enter your Google Analytics Measurement ID (e.g., G-XXXXXXXXXX) in the integration config. This enables event tracking for form submissions. Available on Pro plan only.
Enter your Facebook Pixel ID in the integration config. This enables conversion tracking for form submissions on your storefront. Available on Pro plan only.
Yes. Click the Disconnect button on any connected integration card. This removes the credentials and disables the integration for that form. You can reconnect it at any time with new or existing credentials.
Integration credentials are stored in the form's integrations JSON field in the database. Each integration record includes its connection status, enabled flag, connection timestamp, and encrypted config. Credentials are only used server-side during submission processing.
Integrations run in parallel with a 10-second timeout. Most integrations complete within 1-3 seconds. If an integration takes longer than 10 seconds, it times out but the submission is still saved successfully.
Yes! You can connect as many integrations as your plan allows on a single form. They all run in parallel when a submission comes in — for example, you could send data to Google Sheets, subscribe to Mailchimp, and notify Slack all at once.
Supported file types, size limits, storage quotas, S3 storage, and file management for form submissions.
The app supports 30 file types across several categories:
Yes. When configuring a File Upload field, you can select which file types to allow. This lets you control exactly what visitors can upload — for example, only accept PDF and DOCX for resume forms, or only images for photo submissions.
Monthly file upload storage depends on your plan:
Storage usage resets at the start of each calendar month.
Form submission files are stored on AWS S3 with a structured key format: submissions/{shop}/{year}/{month}/{unique-id}-{filename}. Files are cached for 1 year for fast delivery. An optional CDN URL can be configured for custom domains.
When the app is uninstalled, all uploaded files for your shop are batch-deleted from S3 as part of the cleanup process. This includes both submission files and any builder assets. Make sure to export or download any files you need before uninstalling.
The app tracks your monthly upload usage using a counter with the key storageBytes_{shop}_{year}_{month}. Each file upload increments this counter. The dashboard shows your current storage usage with progress bars and warnings at 80% and 90% thresholds.
If your monthly storage limit is reached, new file uploads will be blocked (HTTP 403). The form submission itself will also fail if it includes files that exceed your plan's limit. Upgrade your plan or wait for the monthly reset to continue accepting file uploads.
Yes. Uploaded filenames are automatically sanitized — special characters are replaced with underscores, and names are capped at 100 characters. Each file also gets a unique ID prefix to prevent naming collisions.
Show or hide fields based on other field values — supported field types, setup, and plan requirements.
Conditional display lets you show or hide fields based on the value of another field. For example, you can show a "Company Name" field only when someone selects "Business" from a customer type dropdown. This keeps your forms clean and relevant.
The following field types can be used as controlling fields for conditional logic:
You set the controlling field ID and the specific value that triggers visibility.
Conditional logic is available on Growth and Pro plans. It's gated by the conditionalLogic feature flag. Free and Starter plan users will need to upgrade to use this feature.
Select a field in the builder and open its settings. Look for the Conditional Display section. Choose the controlling field (the field whose value determines visibility) and enter the value that should trigger this field to appear.
Fields that are hidden by conditional logic are automatically excluded from the submission data. So if a visitor never sees a field because the condition wasn't met, that field's data won't be included in the submission or sent to integrations.
On the storefront, conditional fields start as hidden (display:none). JavaScript monitors the controlling field's value and shows the dependent field when the condition is met. The attributes data-conditional-field and data-conditional-value drive this behavior.
Plan comparison, pricing, monthly vs yearly billing, feature access, limits, and how to upgrade.
There are four plans: Free ($0), Starter ($4.99/month), Growth ($7.99/month), and Pro ($14.99/month). Each plan offers increasing form limits, submission quotas, file upload storage, integrations, and features. Yearly billing saves you approximately 20%.
The Free plan gives you: 3 forms, 100 submissions/month, 3 AI generations/month, reCAPTCHA integration, single-page forms, and basic styling. Branding ("Powered by Cruxtab") is displayed on Free plan forms.
The Starter plan ($4.99/month or $47.90/year) adds: 10 forms, 500 submissions/month, 10 MB file uploads, 10 AI generations/month, Google Sheets integration, multi-page forms, and branding removal.
The Growth plan ($7.99/month or $76.70/year) includes: unlimited forms, 2,000 submissions/month, 20 MB file uploads, 30 AI generations/month, conditional logic, and additional integrations (Mailchimp, Klaviyo, HubSpot, Sendinblue).
The Pro plan ($14.99/month or $143.90/year) unlocks everything: unlimited forms, 10,000 submissions/month, 100 MB file uploads, unlimited AI generations, all integrations (including Slack, Zapier, Google Analytics, Facebook Pixel), webhooks, and priority support.
Yes. You can toggle between monthly and yearly billing on the Pricing page. Yearly billing saves you roughly 20% compared to paying monthly. Yearly prices are: Starter $47.90/year, Growth $76.70/year, Pro $143.90/year.
Go to the Pricing page in the app and click on the plan you want. Billing is handled through Shopify's native billing system, so charges appear on your Shopify invoice. You can also cancel your subscription from the same page.
When you reach your plan's form limit, you won't be able to create new forms until you delete existing ones or upgrade your plan. The app will show an error (HTTP 403) when you try to create a form beyond your limit.
When the monthly submission limit is reached, new form submissions will be rejected (HTTP 429) until the next calendar month. The dashboard shows progress bars with warnings at 80% and 90% so you have time to upgrade before hitting the cap.
Monthly limits are tracked using counters that reset at the start of each calendar month. Submissions are counted by creation date, file storage uses a byte counter per month, and AI usage tracks generation count per month.
Yes. You can cancel your subscription directly from the Pricing page in the app. Cancellation is handled through Shopify billing. After cancellation, you'll be moved to the Free plan with its associated limits.
Key features that require a paid plan include:
How forms render on your store — inline, float, and popup modes, trigger conditions, branding, and theme compatibility.
Forms are rendered via a Shopify Theme App Extension. The extension reads your published forms from app metafields, matches them to the current page, and renders the form with all your design settings applied — inline, as a float button, or as a popup.
Three display modes:
Float mode shows a floating button on your storefront (positioned where you choose — corners, sides, or center). When a visitor clicks the button, a form panel slides open. This is great for contact or feedback forms that should be accessible from any page.
Popup mode displays your form in a modal overlay. You can trigger the popup based on scroll depth, time delay, or exit intent. This is perfect for lead capture, newsletter signups, or promotional forms that you want to show at just the right moment.
You can trigger Float and Popup forms using three conditions:
Yes. You can place Float and Popup forms in any of 9 positions: top-left, top-center, top-right, middle-left, center, middle-right, bottom-left, bottom-center, or bottom-right. Choose the position that works best for your store layout.
Free plan forms display a "Powered by Cruxtab Form Builder" badge. On Starter, Growth, and Pro plans, branding is automatically removed. This is controlled by the showBranding flag set server-side based on your plan.
The extension matches forms based on publish settings: Homepage matches when the Liquid template is index, Product pages match by product.handle, and Specific pages match by page.handle. Only published forms with matching page context are displayed.
Yes. The theme extension uses responsive column layouts so forms adapt to different screen sizes. Fields set to 50% width will stack on smaller screens. Custom fonts, colors, and styles all carry over to the mobile experience.
Yes. If you selected a Google Font in the form builder, the extension loads it from Google Fonts and applies it to your form on the storefront. Supported fonts include Inter, Roboto, Poppins, Montserrat, and many more.
Configure what happens after submission — hide form, show message, redirect, discount codes, and data clearing.
You can configure four after-submit actions in the form builder:
When Hide Form is enabled, the following elements are hidden after submission: the form itself, the form header, the stepper navigation (for multi-page forms), and the footer title. Only the success message remains visible to the visitor.
Yes. Enable the Show Message action and enter a custom title and message. This is displayed to the visitor after successful submission. It's commonly combined with the Hide Form action for a clean "thank you" screen.
Yes. Enable the Redirect action and enter the destination URL. After submission, the visitor will be automatically redirected to that page — useful for sending people to a thank-you page, a download link, or another part of your site.
Yes. The Discount after-submit action lets you display a discount code to visitors after they submit the form. This is great for incentivizing form completions, such as offering a coupon after a newsletter signup or survey.
After successful submission, the form is comprehensively reset including: all standard inputs, error states, star/level ratings, image options, color swatches, signature drawings, file upload previews, product selections, matrix field selections, and the reCAPTCHA widget. Everything is returned to a clean state.
Solutions for common issues — forms not showing, submissions failing, email problems, integration errors, and more.
Check these common causes:
Common reasons include:
Check the dashboard for submission limit progress bars.
Check your email configuration:
Start with these checks:
Common file upload issues:
A publishing conflict means another form is already published to that page. The app prevents multiple forms on the same page location. To resolve this, either unpublish the existing form first, or publish your new form to a different page.
When you hit a limit, you can:
Minor differences can occur because the storefront renders through the Liquid theme extension, which may be influenced by your theme's CSS. Check that Google Fonts are loading correctly, verify your theme isn't overriding form styles, and confirm the theme app extension block is placed correctly.
Make sure your Site Key and Secret Key are correct and match the domain your store is on. The site key is used on the frontend widget, while the secret key is verified server-side. Also check that you haven't accidentally used test keys in production.
Verify these settings:
Conditional logic is a premium feature available on Growth and Pro plans only. If you're on the Free or Starter plan, you'll need to upgrade to access conditional field display. Check the Pricing page for plan comparison details.
Possible reasons include:
Install the app and reach out to our support team — we're here to help.
Install Free on Shopify