Gravity Forms conversion dashboard with dead form alerts
See submissions, page views, and a real conversion rate for every form on your WordPress site, with dead and declining forms flagged for you.
I run a WordPress site with a lot of Gravity Forms forms on it, and I have no real idea how any of them are performing. Gravity Forms has no built-in reporting and the entries screen only shows raw rows. Build me an app my marketing and web ops team can open to see how every form on the site is actually converting. The app is read-only against Gravity Forms: it must never create, edit, or delete a form or an entry.
The main view is a dashboard listing every form on the site, pulled with the Gravity Forms List Forms operation, which returns each form's id, title, and total entry count. At the top sits a date range control with presets for the last 7, 30, and 90 days plus a custom range. For each form, show submissions in the selected range, a small trend line of submissions over time, page views for the page hosting that form, a conversion rate, and the change versus the immediately preceding period of the same length. Submissions and the trend line come from List Entries by Form, filtered by entry date and bucketed by day, or by week when the range is longer than about sixty days. Use the paging parameters on that operation so forms with many entries are counted fully instead of stopping at the first page.
Conversion rate needs page views, and the app cannot infer which page hosts which form, so include a small mapping screen where each form is paired with the path of its landing page, for example /contact or /request-a-demo. Persist those pairings in the app so they survive between visits and are shared across the team. A form with no page paired yet still shows its submissions and trend, but the conversion rate cell reads "Pair a page" and links straight to the mapping screen. Never guess the path.
For page views, use Google Analytics Run Report (GA4). Do not ask the person for a property ID and do not hardcode one: discover the available properties with List Account Summaries, let them pick which property tracks this site the first time they open the app, and remember the choice. Run the report with pagePath and date as dimensions and screenPageViews as the metric over the selected range, filtered to the paths that have been paired with a form, then run it a second time over the prior period of equal length so the change column has something to compare against. Conversion rate for a form is its submissions divided by the page views for its paired path.
Flag problem forms automatically and surface them in a section pinned to the top of the dashboard. A form is dead if it has had zero submissions in the last thirty days. A form is declining if its conversion rate dropped more than a threshold I set versus the prior period. Both the dead window and the drop threshold live on a settings screen with sensible defaults, thirty days and a twenty-five percent relative drop, and both are editable. Sort the flagged section so the forms wasting the most traffic appear first, since a dead form on a page with two thousand visitors matters more than one nobody sees.
Clicking a form opens a detail view with a larger trend chart, its paired page and page-view numbers, a readable table of recent entries, and the audit recommendations described below.
Every form gets an "Audit this form" button that kicks off a background agent. The agent pulls the full form object including its field definitions by calling List Forms for that specific form id, since requesting specific ids returns the complete form object rather than just the summary, and pulls a sample of the most recent entries for that form with List Entries by Form. It then works out what is likely hurting completion: too many fields overall, too many required fields, a long free-text question, a field that a large share of respondents leave blank, redundant questions, or a demanding field sitting too early in the form. It writes a short ranked set of recommendations back into the app, each one carrying the evidence behind it, for example "the Company Size field is blank on 71 percent of the last 50 entries", and those recommendations render on that form's detail view. Store each audit with a timestamp and keep previous audits so we can tell whether one was acted on. While the agent is running, show that form's audit as in progress without blocking the rest of the dashboard.
A "Share snapshot" button posts the current summary to our marketing channel using the Slack Bot Send a Message operation. The message should carry the date range, the top forms by conversion rate, the flagged dead and declining forms, and the overall submission total, formatted to be readable in Slack rather than a wall of numbers. Let people choose the destination channel from a picker built with List Channels, and remember the last channel used.
A few details to get right. Gravity Forms entry values are keyed by numeric field id, so use the field definitions from the form object to show real question labels anywhere entries or audit findings are displayed. Exclude inactive and trashed forms by default, with a toggle to show them. Cache fetched numbers for a few minutes and give the dashboard a refresh control, so flipping between date ranges does not hammer Gravity Forms and Google Analytics harder than necessary.
What does this prompt do?
- Every form on your site in one table, with submissions for the date range you choose and a trend line showing whether it is climbing or fading.
- A real conversion rate for each form, built from the visitor numbers for the page that hosts it, so a busy page and a quiet page are judged fairly.
- Automatic flags for dead forms with no submissions in the last thirty days, and for forms whose conversion rate slipped further than the drop you consider acceptable.
- An Audit button that sends a background assistant through a form's questions and recent answers to write back what is likely costing you completions, plus one-click sharing of the summary to your Slack channel.
What do I need to use this?
- A WordPress site running Gravity Forms, and administrator access so you can connect it.
- A Google Analytics account with access to the property that tracks the same site.
- A Slack workspace, if you want to share snapshots with your team.
- The page address for each form, for example /contact or /request-a-demo. You enter these once in the app so page views can be matched to the right form.
How can I customize it?
- Change what counts as dead. Thirty days with no submissions is the default, but a seasonal or event form might deserve sixty or ninety.
- Set your own drop threshold for the declining flag, so you only get warned when a fall is big enough to be worth chasing.
- Pick which Slack channel snapshots go to, and choose the date range the shared summary covers.
FAQs
Do I need the paid Gravity Forms analytics add-on for this?
Why does one of my forms show submissions but no conversion rate?
Will this change anything in my forms or entries?
How far back can I look?
What does the Audit button actually look at?
Can several people on the team use it?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop guessing which of your forms are working.
Get a live conversion picture for every form on your WordPress site, with the dead ones flagged long before someone spots them in a quarterly review.