Title: FormVela – Form Abandonment Analytics
Author: tahmir
Published: <strong>September 24, 2026</strong>
Last modified: September 24, 2026

---

Search plugins

![](https://ps.w.org/formvela-form-abandonment-analytics/assets/banner-772x250.png?
rev=3710532)

![](https://ps.w.org/formvela-form-abandonment-analytics/assets/icon-256x256.png?
rev=3710532)

# FormVela – Form Abandonment Analytics

 By [tahmir](https://profiles.wordpress.org/tahmir/)

[Download](https://downloads.wordpress.org/plugin/formvela-form-abandonment-analytics.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/formvela-form-abandonment-analytics/#description)
 * [Reviews](https://wordpress.org/plugins/formvela-form-abandonment-analytics/#reviews)
 *  [Installation](https://wordpress.org/plugins/formvela-form-abandonment-analytics/#installation)
 * [Development](https://wordpress.org/plugins/formvela-form-abandonment-analytics/#developers)

 [Support](https://wordpress.org/support/plugin/formvela-form-abandonment-analytics/)

## Description

Your forms already work. Learn where they could work better.

FormVela adds a focused dashboard inside WordPress. See how visible forms become
submissions, explore field-level activity, and compare mobile and desktop performance.

The free plugin includes:

 * Unlimited detected forms, with a 7-day or 30-day view.
 * Form views, starts, submission attempts and confirmed submissions.
 * Abandonment after 30 minutes of inactivity.
 * Last-field attribution, filled-field counts, validation errors and refocuses.
 * Active focus time, step reach and a transparent field friction heuristic.
 * Device comparison, daily activity and searchable form reports.
 * Local data storage, automatic retention cleanup and optional consent gating.

Built-in adapters recognize Contact Form 7, WPForms, Gravity Forms, Fluent Forms,
Elementor Forms, Formidable Forms, Ninja Forms, Forminator and Bricks Forms. Provider
versions, custom markup, AJAX configuration and redirect behavior affect coverage.
Test your own forms before relying on the numbers. Paid form-builder plugins are
not included.

Custom HTML forms are also detected. To confirm successful custom submissions, dispatch
the documented success event only after your server accepts the form. A click on
Submit is never treated as proof of success. Cross-origin iframe forms and shadow
DOM forms are not supported.

This plugin does not deliver forms, recover leads, send follow-up messages or connect
to an external analytics service. Those responsibilities remain with your form provider.

#### Privacy

Collection is off until a site administrator enables it. No tracking cookies or 
local-storage identifiers are created. A cryptographically random interaction ID
lives only in memory on the current page. Repeated visits and reloads are separate
interactions, not unique-person counts.

Only allowlisted interaction metadata is sent to this website’s REST API: a random
interaction ID, structural form and field hashes, a public WordPress page ID, form-
builder name, static form/field labels, broad screen category, completion booleans,
counters, step numbers and durations. The server adds timestamps.

Entered values, selected-option text, file contents/names, full URLs, referrers 
and persistent visitor IDs are not stored in analytics. Password, search, login,
checkout, hidden, anti-spam and recognizable payment fields are excluded. Do not
put personal data in static form names or field labels. Email-like and phone-like
text in labels is additionally redacted.

For basic abuse prevention, a salted hash of the connection IP is held in a WordPress
transient for one minute. The raw IP is not saved by this plugin. The web server,
host, form provider or other plugins may separately process personal data.

Global Privacy Control is always honored. Do Not Track is honored by default. Enable“
Wait for analytics consent” and connect your consent manager to prevent collection
before consent. No consent manager is bundled and no legal-compliance guarantee 
is made. Suggested privacy-policy text is available in WordPress Privacy settings.

Interaction and field records expire after 30 days; daily WordPress cron performs
cleanup. Cron requires site traffic or a real cron runner. Discovered form metadata
remains until the administrator deletes analytics data. Deactivation preserves analytics.
Enable “Delete data on uninstall” before deleting the plugin to remove all plugin
data.

#### Extending the plugin

The free core is fully functional and has no license check or disabled premium implementation.
A future, separate add-on can use the hooks and JavaScript API in docs/extensions.
md. No Pro code is included in this release.

## Screenshots

[⌊Overview with conversion funnel, device breakdown and daily activity. Illustrative
data.⌉⌊Overview with conversion funnel, device breakdown and daily activity. Illustrative
data.⌉[

Overview with conversion funnel, device breakdown and daily activity. Illustrative
data.

[⌊Field-level drop-off, errors, time and friction. Illustrative data; scores are
a heuristic.⌉⌊Field-level drop-off, errors, time and friction. Illustrative data;
scores are a heuristic.⌉[

Field-level drop-off, errors, time and friction. Illustrative data; scores are a
heuristic.

[⌊Collection, privacy and retention settings in the actual administration interface.⌉⌊
Collection, privacy and retention settings in the actual administration interface
.⌉[

Collection, privacy and retention settings in the actual administration interface.

[⌊Built-in provider adapters and custom-form integration guidance.⌉⌊Built-in provider
adapters and custom-form integration guidance.⌉[

Built-in provider adapters and custom-form integration guidance.

[⌊Responsive administration on a narrow screen. Illustrative data.⌉⌊Responsive administration
on a narrow screen. Illustrative data.⌉[

Responsive administration on a narrow screen. Illustrative data.

## Installation

 1. Upload the formvela-form-abandonment-analytics folder to wp-content/plugins, or
    install the ZIP through Plugins > Add New.
 2. Activate FormVela – Form Abandonment Analytics.
 3. Open Form Analytics > Settings and enable collection. Set up your consent integration
    if required.
 4. Purge page caches. Visit a public form in a private browser window; administrator
    visits are excluded by default.
 5. Open Form Analytics to see the first interaction. Allow approximately 10 seconds
    for field activity to arrive. Abandonment is finalized after 30 minutes without
    activity.

## FAQ

### Does this collect personal details entered into a form?

No. Completion is calculated in the browser as a boolean. Entered text, option labels,
uploaded file names and contents are never included in analytics payloads.

### Why is a submission not counted?

The provider must confirm success through a supported event or successful server-
side hook. Failed validation, failed mail delivery in Contact Form 7, spam rejection
and submit-button clicks do not count. Custom forms need the documented success 
callback. Browser/network blocking and custom provider flows may cause undercounting.

### How do I track a custom form?

Views and fields are automatic. After the server confirms success, use:

form.dispatchEvent(new CustomEvent(‘faan:success’, { bubbles: true }));

Call this before a redirect. Use data-faan-name on the form for a friendly name 
and data-faan-id for a stable structural identifier. Use data-faan-label for field
labels, data-faan-step on step containers, and data-faan-ignore to opt a form or
field out.

### How do I connect my consent manager?

Turn on “Wait for analytics consent”. On each page, after analytics consent, dispatch:

document.dispatchEvent(new CustomEvent(‘faan:consent’, { detail: { granted: true}}));

Use granted: false to stop further collection. You can instead set window.faanConsent
= true before the tracker loads. This plugin does not remember consent across pages.

### What do drop-off and friction mean?

Drop-off is the number of abandoned interactions whose last touched field was this
field, divided by interactions that reached it. It does not prove that the field
caused abandonment. Friction combines drop-off (60%), the proportion of error-affected
interactions (25%), and active time capped at 30 seconds (15%). Scores appear only
after 10 reached interactions. It is a heuristic, not AI or a statistical prediction.

### Why are the counts different from another analytics product?

This measures visible form interactions per page load, not unique users. Hidden 
forms are not counted until visible. Consent, privacy signals, script blocking and
confirmed-success requirements also affect counts. Sessions still in progress are
shown separately from abandonment.

### Will it work with a cache or optimization plugin?

The tracker obtains a fresh, short-lived collection token from a non-cacheable endpoint,
rather than embedding expiring visitor nonces in cached pages. Exclude its REST 
endpoints from caching. Aggressive script delay can miss early interactions; exclude
assets/tracker.js from delay-until-interaction settings. Re-test after changing 
optimization settings.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“FormVela – Form Abandonment Analytics” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ tahmir ](https://profiles.wordpress.org/tahmir/)
 *   [ armyoptimist ](https://profiles.wordpress.org/armyoptimist/)

[Translate “FormVela – Form Abandonment Analytics” into your language.](https://translate.wordpress.org/projects/wp-plugins/formvela-form-abandonment-analytics)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/formvela-form-abandonment-analytics/),
check out the [SVN repository](https://plugins.svn.wordpress.org/formvela-form-abandonment-analytics/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/formvela-form-abandonment-analytics/)
by [RSS](https://plugins.trac.wordpress.org/log/formvela-form-abandonment-analytics/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial free release with local, value-free form analytics, supported builder
   adapters and extension hooks.

## Meta

 *  Version **1.0.0**
 *  Last updated **21 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [conversion](https://wordpress.org/plugins/tags/conversion/)[form abandonment](https://wordpress.org/plugins/tags/form-abandonment/)
   [form analytics](https://wordpress.org/plugins/tags/form-analytics/)[form tracking](https://wordpress.org/plugins/tags/form-tracking/)
   [privacy](https://wordpress.org/plugins/tags/privacy/)
 *  [Advanced View](https://wordpress.org/plugins/formvela-form-abandonment-analytics/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/formvela-form-abandonment-analytics/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/formvela-form-abandonment-analytics/reviews/)

## Contributors

 *   [ tahmir ](https://profiles.wordpress.org/tahmir/)
 *   [ armyoptimist ](https://profiles.wordpress.org/armyoptimist/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/formvela-form-abandonment-analytics/)