{"id":293356,"date":"2026-04-07T07:20:31","date_gmt":"2026-04-07T07:20:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/leadpulse\/"},"modified":"2026-04-07T09:28:39","modified_gmt":"2026-04-07T09:28:39","slug":"formbeacon-form-health-monitor","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/formbeacon-form-health-monitor\/","author":23329915,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"6.9.4","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"FormBeacon \u2013 Form Health Monitor","header_author":"Nikhil Umaretiya","header_description":"Monitor WordPress form submission health and alert admins when form activity appears unhealthy. Supports Contact Form 7, WPForms, and Gravity Forms.","assets_banners_color":"cfd8e3","last_updated":"2026-04-07 09:28:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/nikhilumaretiya.vercel.app","rating":0,"author_block_rating":0,"active_installs":10,"downloads":169,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"nikhilpatel68","date":"2026-04-07 07:28:43"},"1.1.1":{"tag":"1.1.1","author":"nikhilpatel68","date":"2026-04-07 09:07:48"},"1.1.2":{"tag":"1.1.2","author":"nikhilpatel68","date":"2026-04-07 09:28:39"}},"upgrade_notice":{"1.1.2":"<p>Fixes short description display on WordPress.org.<\/p>","1.1.1":"<p>Bug fix release. Recommended for all users.<\/p>","1.1.0":"<p>Adds failure and spam tracking for WPForms and Gravity Forms. Upgrade recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3500421,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3500421,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3500421,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3500421,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3500421,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3500421,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3500421,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3500421,"resolution":"4","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Dashboard overview showing form health status at a glance.","2":"Monitored forms list with sortable health status indicators.","3":"Event log showing the full submission audit trail with failure context.","4":"Plugin settings for thresholds, alert email, and provider toggles."}},"plugin_section":[262246],"plugin_tags":[1152,26745,259616,1655,130711],"plugin_category":[42,54],"plugin_contributors":[259608],"plugin_business_model":[],"class_list":["post-293356","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-contact-form-7","plugin_tags-email-alerts","plugin_tags-form-monitor","plugin_tags-gravity-forms","plugin_tags-wpforms","plugin_category-contact-forms","plugin_category-security-and-spam-protection","plugin_contributors-nikhilpatel68","plugin_committers-nikhilpatel68"],"banners":{"banner":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/banner-772x250.png?rev=3500421","banner_2x":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/banner-1544x500.png?rev=3500421","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/icon-128x128.png?rev=3500421","icon_2x":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/icon-256x256.png?rev=3500421","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/screenshot-1.png?rev=3500421","caption":"Dashboard overview showing form health status at a glance."},{"src":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/screenshot-2.png?rev=3500421","caption":"Monitored forms list with sortable health status indicators."},{"src":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/screenshot-3.png?rev=3500421","caption":"Event log showing the full submission audit trail with failure context."},{"src":"https:\/\/ps.w.org\/formbeacon-form-health-monitor\/assets\/screenshot-4.png?rev=3500421","caption":"Plugin settings for thresholds, alert email, and provider toggles."}],"raw_content":"<!--section=description-->\n<p><strong>Have your contact forms ever silently stopped working \u2014 and you only found out because a client complained?<\/strong><\/p>\n\n<p>FormBeacon watches your WordPress forms around the clock and tells you when something looks wrong, before it costs you leads or customers.<\/p>\n\n<p>It tracks every submission event across Contact Form 7, WPForms, and Gravity Forms, flags unhealthy patterns, and sends you an email alert the moment a form tips into a warning or critical state.<\/p>\n\n<h4>Why FormBeacon?<\/h4>\n\n<p>Most WordPress sites have no visibility into what their forms are actually doing. A mail server hiccup, a spam filter, or a misconfigured field can silently kill form submissions for days. FormBeacon closes that gap with zero configuration required.<\/p>\n\n<h4>What FormBeacon monitors<\/h4>\n\n<ul>\n<li><strong>Successes<\/strong> \u2014 every completed, processed submission<\/li>\n<li><strong>Failures<\/strong> \u2014 mail delivery errors, validation failures, server-side rejections<\/li>\n<li><strong>Spam blocks<\/strong> \u2014 submissions caught by honeypot, Akismet, keyword filters, and country rules<\/li>\n<li><strong>Inactivity<\/strong> \u2014 forms that have gone quiet for longer than your configured threshold<\/li>\n<\/ul>\n\n<h4>Health statuses<\/h4>\n\n<p>Each form tracked by FormBeacon carries one of four statuses:<\/p>\n\n<ul>\n<li>\u2705 <strong>Healthy<\/strong> \u2014 recent successful activity, within your thresholds<\/li>\n<li>\u26a0\ufe0f <strong>Warning<\/strong> \u2014 no successful submission within the inactivity window<\/li>\n<li>\ud83d\udd34 <strong>Critical<\/strong> \u2014 failure spike detected in the last 24 hours, or prolonged inactivity<\/li>\n<li>\ud83d\udca4 <strong>Inactive<\/strong> \u2014 form seen but no submission history recorded yet<\/li>\n<\/ul>\n\n<h4>Supported form plugins<\/h4>\n\n<ul>\n<li><strong>Contact Form 7<\/strong> \u2014 tracks mail sent (success) and mail failed (failure)<\/li>\n<li><strong>WPForms<\/strong> \u2014 tracks process complete (success), AJAX validation errors (failure), and spam detection blocks (failure)<\/li>\n<li><strong>Gravity Forms<\/strong> \u2014 tracks entry saved (success), validation failures (failure), and spam flagged entries (failure)<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Email alerts<\/strong> \u2014 notified the moment a form transitions to warning or critical<\/li>\n<li><strong>Dashboard widget<\/strong> \u2014 at-a-glance form health overview on the WordPress admin home screen<\/li>\n<li><strong>Event log<\/strong> \u2014 full audit trail of every tracked submission event with timestamps and context<\/li>\n<li><strong>Monitored forms list<\/strong> \u2014 sortable table of all active forms and their current health status<\/li>\n<li><strong>Configurable thresholds<\/strong> \u2014 set your own inactivity window and failure spike limit<\/li>\n<li><strong>Automatic log pruning<\/strong> \u2014 old event records are cleaned up on a schedule you control<\/li>\n<li><strong>No coding required<\/strong> \u2014 activate and go; FormBeacon auto-detects your active form plugins<\/li>\n<\/ul>\n\n<h4>Privacy-first design<\/h4>\n\n<p>FormBeacon is designed to store <strong>operational metadata only<\/strong>. It never records names, email addresses, phone numbers, message bodies, file names, IP addresses, or any personal content from form submissions. All data is stored locally in your WordPress database and pruned automatically based on your retention setting.<\/p>\n\n<h4>Who is FormBeacon for?<\/h4>\n\n<ul>\n<li>Freelancers and agencies who manage client sites and need early warning when a contact form breaks<\/li>\n<li>Business owners who rely on forms for leads, bookings, or support requests<\/li>\n<li>Developers who want observability into form submission health without building a custom solution<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>FormBeacon stores minimal operational telemetry to monitor form health. This includes the form ID, success\/failure status, and aggregated event timestamps. It does <strong>not<\/strong> store personal identifiers (PII), request bodies, user IP addresses, uploaded file names, or any form field content.<\/p>\n\n<p>All telemetry data is stored locally within your WordPress database and is automatically pruned after the retention period configured in FormBeacon Settings.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/formbeacon<\/code> directory, or install the plugin through the WordPress Plugins screen directly.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>FormBeacon<\/strong> in the WordPress admin menu.<\/li>\n<li>Open <strong>Settings<\/strong> to configure your health thresholds, alert email address, and which form plugins to monitor.<\/li>\n<li>FormBeacon will begin tracking submission events automatically \u2014 no additional setup required.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20configure%20anything%20before%20formbeacon%20starts%20working%3F\"><h3>Do I need to configure anything before FormBeacon starts working?<\/h3><\/dt>\n<dd><p>No. FormBeacon auto-detects your active form plugins on activation and begins tracking immediately. The default thresholds (7-day inactivity window, 3-failure spike limit) work for most sites. You can adjust these in the Settings tab at any time.<\/p><\/dd>\n<dt id=\"which%20form%20plugins%20are%20supported%3F\"><h3>Which form plugins are supported?<\/h3><\/dt>\n<dd><p>This version supports Contact Form 7, WPForms, and Gravity Forms. You can enable or disable individual providers in FormBeacon Settings.<\/p><\/dd>\n<dt id=\"does%20formbeacon%20store%20personal%20form%20submission%20data%3F\"><h3>Does FormBeacon store personal form submission data?<\/h3><\/dt>\n<dd><p>No. FormBeacon stores operational metadata only: form ID, success\/failure status, event type, and timestamps. No names, emails, phone numbers, message bodies, uploaded file names, or IP addresses are ever stored.<\/p><\/dd>\n<dt id=\"does%20formbeacon%20guarantee%20email%20inbox%20delivery%3F\"><h3>Does FormBeacon guarantee email inbox delivery?<\/h3><\/dt>\n<dd><p>No. FormBeacon monitors submission health signals exposed by supported form plugins. It does not guarantee SMTP delivery, inbox placement, or third-party CRM delivery. For reliable outgoing email, pair FormBeacon with an SMTP plugin such as WP Mail SMTP.<\/p><\/dd>\n<dt id=\"does%20formbeacon%20track%20both%20successes%20and%20failures%3F\"><h3>Does FormBeacon track both successes and failures?<\/h3><\/dt>\n<dd><p>Yes. As of version 1.1.0, FormBeacon tracks both successes and failures for all three supported providers:<\/p>\n\n<ul>\n<li><strong>Contact Form 7<\/strong> \u2014 mail sent (success) and mail failed (failure)<\/li>\n<li><strong>WPForms<\/strong> \u2014 process complete (success), AJAX validation error response (failure), and spam detection blocks (failure)<\/li>\n<li><strong>Gravity Forms<\/strong> \u2014 entry saved (success), validation failure via <code>gform_validation<\/code> (failure), and spam flagged via <code>gform_entry_is_spam<\/code> (failure)<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20do%20email%20alerts%20work%3F\"><h3>How do email alerts work?<\/h3><\/dt>\n<dd><p>When a form transitions into a warning or critical state during the daily health evaluation, FormBeacon sends a plain-text alert email to your configured alert address. Each form-status combination is rate-limited to one alert per 24 hours to avoid inbox flooding.<\/p><\/dd>\n<dt id=\"can%20i%20manually%20trigger%20a%20health%20check%3F\"><h3>Can I manually trigger a health check?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>FormBeacon \u2192 Settings<\/strong> and click the <strong>Run Health Check Now<\/strong> button to evaluate all forms immediately without waiting for the next scheduled cron run.<\/p><\/dd>\n<dt id=\"how%20do%20i%20remove%20a%20form%20from%20monitoring%3F\"><h3>How do I remove a form from monitoring?<\/h3><\/dt>\n<dd><p>Go to <strong>FormBeacon \u2192 Forms<\/strong>, hover over any form row, and click <strong>Remove from monitoring<\/strong>. This removes the form and all its associated event log entries from FormBeacon's records. The form itself is not affected.<\/p><\/dd>\n<dt id=\"does%20formbeacon%20slow%20down%20my%20site%3F\"><h3>Does FormBeacon slow down my site?<\/h3><\/dt>\n<dd><p>No. FormBeacon hooks into events that already fire during form submission \u2014 it adds a lightweight database write per submission. The health evaluation runs on a daily WordPress cron job, not on page load.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens to my data if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>By default, FormBeacon leaves your data intact when the plugin is deleted, so you can re-activate without losing history. If you want a clean removal, enable <strong>Remove all data on uninstall<\/strong> in FormBeacon Settings before deleting the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed: Short description truncated on WordPress.org \u2014 trimmed to within the 150 character limit.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed: DB version stored as 1.0.0 on fresh install, causing a redundant upgrade run on first admin page load.<\/li>\n<li>Fixed: Removed redundant esc_sql() call in the event log list table before a %i placeholder.<\/li>\n<li>Fixed: Removed unused nonce field from the monitored forms list view.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added failure tracking for WPForms: AJAX validation errors and spam detection blocks.<\/li>\n<li>Added failure tracking for Gravity Forms: validation failures and spam flagged entries.<\/li>\n<li>Added detailed error context (failed field labels, error counts) to failure event logs.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"WordPress form health monitor for Contact Form 7, WPForms, and Gravity Forms. Get email alerts when forms fail, go inactive, or detect spam.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/293356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=293356"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nikhilpatel68"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=293356"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=293356"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=293356"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=293356"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=293356"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=293356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}