Analytics & submissions

Measure how your forms perform and read every response in one place.

Formtoro gives you two complementary surfaces: Analytics for the big picture — three tabs covering your whole shop, each form, and each answer — and the Submissions inbox for the individual responses behind the numbers. Both live in the app's sidebar.

The Analytics page

Open Analytics and you land on the Overview tab, with Forms and Responses beside it. All three share the same period picker: Today (the default), Yesterday, Last 7, 14, 30, or 90 days, or a custom range. Switching tabs keeps your selected period, and your last pick is remembered for your next visit.

Two things worth knowing about the numbers:

  • Days match your store's timezone, not UTC. "Today" and every other window start and end on your shop's local calendar day, so Formtoro's figures line up with what Shopify's own analytics show for the same day.
  • Data is cached briefly for speed. The header shows Updated with the time the numbers were fetched; hit Refresh to force a live re-fetch.

Reading the insights grid

The Overview tab is a grid of metric cards, organized into sections. Each card shows the number for your selected period plus a trend badge comparing it against the period immediately before (green up, red down). Three words unlock the whole grid:

  • Attributed (also read as "subscriber") — orders and revenue Formtoro can tie back to a shopper who filled in one of your forms. This is your form-driven impact.
  • Store-wide — totals for your entire Shopify store, pulled from Shopify. These lag real time by a few hours.
  • First-time vs. returning — brand-new customers vs. repeat ones.

The sections, in order:

  • FormsSignup-form views (impressions on forms that can capture an email or phone), Forms seen (impressions on all forms), New Subscribers, Subscription % (of everyone who saw a signup form), and Sub → conversion (share of subscribers who went on to place an order).
  • VisitorsTotal (store-wide when available, otherwise visitors who saw your forms), New, Returning, and Subscribers (existing subscribers who came back this period).
  • Revenue — store Total (matches Shopify's "Total sales"), Formtoro attributed revenue, First-time and Returning customer revenue, and Returning subscriber revenue (repeat purchases from people your forms captured).
  • Ads — shown only if you've connected Meta or Google Ads: Ad Spend, Cost 1st Acquisition, Blended CAC, ROAS 1x, and Blended ROAS, with a per-platform filter.
  • Orders — store-wide Total orders, AOV (average order value), and Conversion rate (orders ÷ store traffic).
  • First orders — first-time customers: total (with its share of all orders), AOV, and first-time conversion rate.
  • Subscriber orders — your form-attributed orders: count (as a share of first-time orders), AOV, and Subscriber value (total attributed revenue).
  • Non-subscriber orders — first-time buyers who didn't come through a form: count, AOV, value.
  • Returning customer orders — repeat customers: total and AOV.

Why is a number showing "—"? A dash means that figure's data source is temporarily unavailable — most often the store-wide Shopify figures, which update on a delay. Your Formtoro figures still show. And because store totals lag, Formtoro attributed revenue can briefly read higher than the store Total next to it — the card notes "store totals updating" when that's the case.

On the "Today" window, store and ad trends pause (a partial day can't fairly compare against a full one) while form trends compare against the same time yesterday. The grid says so in a caption.

How attribution works

When an order comes in, Formtoro matches it back to a form submission — in order of confidence: by the discount the shopper earned from a form, by the email they gave you, or by recognizing the same visitor's browser. A matched order (and its revenue) counts as attributed; everything else stays store-wide only. That's the whole trick: submission first, order later, tied together automatically. For breakdowns the grid doesn't show — attributed revenue by UTM campaign, device, or page — just ask Luigi; it reads the same data.

Per-form performance

The Forms tab breaks the same period down per form: Views, Subs (submissions that captured an email or phone, with the conversion rate from views), Completed (with the completion rate), Emails and Phones captured, attributed Revenue (with AOV), and Orders (with the share of that form's subscribers who converted). Hover a form's name for its publish date; click it to open the form in the builder.

The status filter defaults to Turned on — switch to All forms to include forms that are currently off. A live form with no traffic still shows, zeroed, so you can spot a form that's on but not being seen (if that's a surprise, see Going live).

Responses — what each answer tells you

The Responses tab turns answers into insight. It shows one card per choice question — the same question merges across forms — with each answer's:

  • Count and share — how many respondents picked it, with a proportional bar. (On multi-select questions shares can add up to more than 100%, because one person can pick several answers.)
  • Revenue line — for answers that led to orders: $1,370.80 · 44% of revenue · 12% conversion — the revenue attributed to people who gave that answer, that answer's slice of the question's total attributed revenue, and the share of those respondents who ordered. Answers that haven't driven a purchase yet read "No orders yet" rather than a misleading $0.

This is where you learn which answers signal a buyer — if "shopping for a gift" converts far better than "just browsing," you know which segment to court, which products to lead with, and what to test next.

Submissions

The Submissions inbox lists every response across your forms — including partial ones: the moment a shopper submits a step that captures their email or phone, a submission exists, even if they never finish the rest. Each row shows:

  • Contact — the email or phone captured, or Anonymous.
  • Form — which form it came from (hidden when every row is the same form).
  • Submitted — when, in your store's timezone.
  • CompletionCompleted (the shopper reached the form's end screen) or Still filling out.
  • Delivery — whether it synced to your connected apps: Not started, Delivering, Delivered, Needs attention (some destinations succeeded, some didn't), or Failed. Hover the badge for an explanation.
  • Release — which saved version of the form the shopper saw (v1, v2, …), so you can tell which edit a response belongs to.

Narrow the list with the search box (email or phone) and the date filter — Any time, last 24 hours, last 7, 30, or 90 days, or a custom range — and page through with Previous / Next. The list doesn't auto-poll; use Refresh to pull the latest.

Reading one submission

Click a row to open the submission's own page — a real URL you can bookmark or share with a teammate. It shows the contact and status, every answer in plain language (your question labels, not raw keys — see how answers are keyed), and a details column with the submitted/completed timestamps, the form, the signup page the shopper was on, and any marketing consent they gave ("Consented to email marketing"). A Sync card lists each connected app with its delivery status and when it synced.

The inbox is read-only — it's for reading and triaging responses, not editing them. Your synced integrations (e.g. Klaviyo) are where responses flow onward and get acted on.

Your monthly submission usage against your plan's quota lives in Settings → Plan & Usage. If a form's badge reads "Paused — limit reached", that's the quota — see Settings.

Next steps

  • Experiments — turn an insight into a controlled A/B test.
  • Luigi — ask questions about these numbers in plain language, from any page.
  • Klaviyo — send submissions to your email platform automatically.