mage2kishan / module-advanced-contact-us
Advanced Contact Us Page - Custom fields, bot protection, submission management, email notifications
Package info
github.com/mage2sk/module-advanced-contact-us
Language:HTML
Type:magento2-module
pkg:composer/mage2kishan/module-advanced-contact-us
Requires
- php: >=8.1
- mage2kishan/module-core: ^1.0
- magento/framework: >=103.0
- magento/module-backend: >=102.0
- magento/module-contact: >=100.4
- magento/module-ui: >=101.2
README
Panth Advanced Contact Us — Magento 2 AJAX Contact Form with Custom Fields, Anti-Spam & Submission Grid
Replace Magento 2's default contact form with a conversion-optimized AJAX contact page. Vanilla JS (zero jQuery dependency) for native Luma speed, unlimited custom fields, 3-layer anti-spam (honeypot + time-based trap + IP rate limiting), full admin submission grid with status tracking, and transactional email notifications for both admin and customer.
Panth Advanced Contact Us transforms Magento 2's stock contact page into a feature-rich, modern, conversion-ready contact experience. Customers get an AJAX-submitted form (no page reloads) with real-time validation, a clean contact-info sidebar, and auto-prefill for logged-in users. Admins get a proper submission grid with New/Read/Replied status tracking instead of lost emails, plus three independent spam defences that stop bots without CAPTCHAs frustrating real customers.
Built on pure vanilla JavaScript for native Luma themes, fully MEQP compliant, and tested across Magento 2.4.4 — 2.4.8 with PHP 8.1 — 8.4.
🚀 Need Custom Magento 2 Development?
Get a free quote for your project in 24 hours — custom modules, Hyva themes, performance optimization, M1→M2 migrations, and Adobe Commerce Cloud.
Visit our website: kishansavaliya.com | Get a quote: kishansavaliya.com/get-quote
Table of Contents
- Why Panth Advanced Contact Us
- Key Features
- Compatibility
- Installation
- Configuration
- Custom Fields
- Admin Submission Grid
- Anti-Spam Protection
- Email Notifications
- Troubleshooting
- FAQ
- Support
Why Panth Advanced Contact Us
Magento 2's native contact form is a lowest-common-denominator feature: full page reload on submit, no custom fields, no anti-spam beyond basic form keys, no admin-side record of submissions, and no status tracking. Merchants routinely lose leads because contact emails land in spam folders or get buried in inboxes with no way to know which messages have been answered.
Panth Advanced Contact Us fixes every one of those problems:
- No more lost leads — every submission is stored in the database with a searchable admin grid
- No more spam flood — honeypot, time trap, and IP rate limiting block bots automatically without CAPTCHAs
- No more generic form — add unlimited custom fields (dropdowns, checkboxes, phone, subject)
- No more page reloads — AJAX submission with inline success/error messages
- No more "did they reply?" — three-state status tracking (New / Read / Replied) keeps your team organized
Key Features
Modern Storefront Form
- Vanilla JavaScript AJAX submission — zero jQuery, zero page reload, native Luma speed
- Real-time client-side validation — required fields, email format, phone format
- Logged-in customer pre-fill — auto-populates name and email for authenticated users
- Contact info sidebar — display email, phone, address, and business hours alongside the form
- Configurable page title & success message — match your brand voice
- Toggleable phone & subject fields — with independent "required" flags
Unlimited Custom Fields
- 7 field types — text, textarea, select, radio, checkbox, email, tel
- Per-field configuration — label, placeholder, required status
- Options support — comma-separated choices for select / radio / checkbox fields
- JSON storage — custom field values stored as JSON in the submission record
- Admin view rendering — custom fields displayed cleanly in submission detail view and email notifications
3-Layer Anti-Spam
- Honeypot field — hidden input invisible to users but filled by bots
- Time-based trap — minimum fill-time threshold (default 2 seconds) rejects instant bot submissions
- IP rate limiting — configurable max submissions per IP per hour (default 5)
- No CAPTCHA friction — real customers never see a challenge, bots get silently rejected
Admin Submission Grid
- Dedicated submission grid — view all contact submissions under
Panth Extensions → Contact Submissions - Full filtering & sorting — by name, email, subject, status, and date
- 3-state status tracking —
New(orange),Read(blue),Replied(green) - Auto-mark-as-read — submissions flip to "Read" status when opened in admin
- Bulk actions — mass delete, mass status change
- Custom field display — view all custom field values in the submission detail page
Email Notifications
- Admin notification email — sent to configurable recipient on every submission
- Customer confirmation email — optional auto-reply to the customer
- Sender identity selection — general, sales, support, or custom sender
- Customizable templates — both admin and customer email templates editable via
Marketing → Email Templates - Reply-To set to customer — one-click reply from your mailbox
Quality & Security
- MEQP compliant — passes Adobe's Magento Extension Quality Program
- CSRF-protected — Magento form key validation on every submission
- XSS-safe output — all stored values escaped on render
- SQL-injection-safe — uses Magento's standard repository + collection pattern
- Luma theme optimized — works on stock Luma and any Luma child theme
Compatibility
| Requirement | Versions Supported |
|---|---|
| Magento Open Source | 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8 |
| Adobe Commerce | 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8 |
| Adobe Commerce Cloud | 2.4.4 — 2.4.8 |
| PHP | 8.1.x, 8.2.x, 8.3.x, 8.4.x |
| MySQL | 8.0+ |
| MariaDB | 10.4+ |
| Luma Theme | Native support (vanilla JS) |
| Panth_Core | ^1.0 (required) |
Tested on:
- Magento 2.4.8-p4 with PHP 8.4
- Magento 2.4.7 with PHP 8.3
- Magento 2.4.6 with PHP 8.2
- Magento 2.4.4 with PHP 8.1
Installation
Composer Installation (Recommended)
composer require mage2kishan/module-advanced-contact-us bin/magento module:enable Panth_Core Panth_AdvancedContactUs bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush
Panth_Core is pulled in automatically as a dependency.
Manual Installation via ZIP
- Download the latest release from Packagist or the Adobe Commerce Marketplace
- Extract to
app/code/Panth/AdvancedContactUs/ - Run the commands above starting from
bin/magento module:enable
Verify Installation
bin/magento module:status Panth_AdvancedContactUs
# Expected: Module is enabled
Then visit the frontend /contact URL — you should see the new form. In admin, the new menu entry lives at Panth Extensions → Contact Submissions.
Configuration
All settings live at Stores → Configuration → Panth Extensions → Advanced Contact Us.
General
| Setting | Default | Description |
|---|---|---|
| Enable Module | Yes | Master toggle. When off, Magento's native contact form is used. |
| Page Title | Contact Us | Heading shown on the contact page. |
| Success Message | Thanks, we'll get back to you soon. | Inline confirmation shown after successful submission. |
| Show Contact Info Sidebar | Yes | Display the sidebar with email / phone / address / hours. |
Contact Info Sidebar
| Setting | Description |
|---|---|
| Public contact email shown in sidebar (click-to-email) | |
| Phone | Public phone number (click-to-call) |
| Address | Physical / mailing address, multi-line |
| Business Hours | Plain text operating hours |
Form Fields
| Setting | Default | Description |
|---|---|---|
| Show Phone Field | Yes | Display the phone input on the form. |
| Phone Required | No | Make phone a mandatory field. |
| Show Subject Field | Yes | Display the subject input. |
| Subject Required | No | Make subject a mandatory field. |
| Custom Fields | — | Dynamic row grid to define unlimited custom fields. |
Email Settings
| Setting | Description |
|---|---|
| Recipient Email | Where admin notifications are sent. |
| Sender Identity | General / Sales / Support / Custom — matches Stores → Configuration → General → Store Email Addresses. |
| Send Customer Confirmation | Send auto-reply to the customer after successful submission. |
| Admin Email Template | Transactional template for admin notification. |
| Customer Email Template | Transactional template for the customer auto-reply. |
Anti-Spam
| Setting | Default | Description |
|---|---|---|
| Enable Honeypot | Yes | Add a hidden trap field that only bots fill. |
| Enable Rate Limiting | Yes | Throttle submissions per IP. |
| Max Per Hour | 5 | Max submissions accepted per IP per hour. |
| Minimum Fill Time (seconds) | 2 | Reject submissions faster than this threshold. |
Custom Fields
Add unlimited custom fields to capture exactly the data you need — subject dropdowns, inquiry-type radios, consent checkboxes, reference numbers, and more.
To add a custom field:
- Go to Stores → Configuration → Panth Extensions → Advanced Contact Us → Form Fields → Custom Fields
- Click Add to create a new row
- Choose a Field Type —
text,textarea,select,radio,checkbox,email, ortel - Set Label (e.g.
Inquiry Type) - Set Placeholder (optional) for text-style fields
- Toggle Required if the field must be filled
- For
select/radio/checkbox, enter Options as comma-separated values (e.g.Sales, Support, Billing, Partnership) - Click Save Config and run
bin/magento cache:flush
Submissions store all custom-field values as JSON in the panth_contact_submission table. The admin submission detail view renders each field with its label and value, and the admin notification email includes them in the message body.
Admin Submission Grid
Navigate to Panth Extensions → Contact Submissions in the admin sidebar.
Grid Columns
- ID — submission identifier
- Name — customer name
- Email — customer email (mailto link)
- Phone — customer phone (if supplied)
- Subject — subject line (if supplied)
- Status — colour-coded
New/Read/Repliedbadge - Submitted At — timestamp
- Action — view / delete
Status Lifecycle
| Status | Colour | When Set |
|---|---|---|
| New | Orange | Automatically on submission |
| Read | Blue | Automatically when opened in admin |
| Replied | Green | Manually by admin after responding |
Bulk Actions
- Delete — mass-delete selected submissions
- Change Status — mass-update status for follow-up workflow
Filter by any column, export to CSV / XML, and search across name, email, and subject.
Anti-Spam Protection
Panth Advanced Contact Us uses a silent, layered defence strategy — no CAPTCHA friction for real customers, but three independent bot-detection mechanisms:
Layer 1: Honeypot Field
A hidden input field (display:none via CSS) is added to the form. Real users never see it or fill it. Automated bots parse the HTML and fill every input — any non-empty honeypot value causes the submission to be rejected silently (the bot sees a "success" response but no record is created).
Layer 2: Time-Based Trap
When the form loads, a hidden timestamp is set. On submission, the server calculates elapsed time. If the form was submitted faster than the configured threshold (default 2 seconds), the submission is rejected — no human can read a form, type a name, email, and message in under 2 seconds.
Layer 3: IP Rate Limiting
The module tracks submission counts per IP address per rolling hour window. If an IP exceeds the configured threshold (default 5 / hour), further submissions return a friendly "too many requests" message. This stops distributed spam from a single source without locking out legitimate users.
All three layers can be independently enabled / disabled and tuned in configuration.
Email Notifications
Admin Notification
Sent to the configured Recipient Email on every successful submission. Contains:
- Submitter name, email, phone, subject
- Full message body
- All custom field values with labels
- Submission timestamp and ID
- Direct admin link to view the submission
The Reply-To header is set to the customer's email address, so clicking reply in your mailbox goes straight to the customer — no copy-paste needed.
Customer Confirmation (Optional)
When Send Customer Confirmation is enabled, the customer receives an auto-reply immediately after submission. Useful for:
- Confirming their message was received
- Setting expectations (e.g. "We reply within 24 business hours")
- Providing support phone / chat alternatives
Both templates are editable at Marketing → Email Templates — load the default, customize the HTML and text versions, and assign in the module's Email Settings.
Troubleshooting
| Issue | Cause | Resolution |
|---|---|---|
Form not appearing on /contact |
Module disabled or cache not flushed | bin/magento module:enable Panth_AdvancedContactUs && bin/magento cache:flush |
| Submissions not saving | Setup upgrade not run | bin/magento setup:upgrade to install the database schema |
| Admin emails not arriving | Magento SMTP not configured | Verify Stores → Configuration → Advanced → System → Mail Sending Settings or install an SMTP module |
| Customer auto-reply not sending | Customer confirmation toggle off | Enable Send Customer Confirmation in Email Settings |
| Bot protection blocking real users | Thresholds too tight | Increase Max Per Hour, lower Minimum Fill Time, or disable individual layers |
| Custom fields not showing | Cache not flushed after field add | bin/magento cache:flush after saving configuration |
| AJAX submission returns 403 | Form key expired | Reload the page or ensure full-page cache is properly serving form keys |
Panth_Core not found error |
Dependency missing | composer require mage2kishan/module-core && bin/magento setup:upgrade |
For persistent issues, enable debug mode in Panth Extensions → Core Settings and check var/log/panth_advanced_contact_us.log.
FAQ
Does this replace Magento's native contact form?
Yes. When the module is enabled, the /contact URL is handled by Panth Advanced Contact Us and the stock Magento_Contact form is bypassed. Disable the module to revert to the native form — no data loss.
Does it work with Hyva themes?
This specific module ships a Luma-compatible vanilla JS frontend. It will render and function on Hyva, but for the Alpine.js + Tailwind native Hyva experience, use the Hyva-specific variant in the Panth suite. Both share the same admin grid and backend logic.
Will it conflict with reCAPTCHA?
No. Panth Advanced Contact Us uses its own silent anti-spam. You can additionally enable Magento's native Google reCAPTCHA v3 on the contact form for a fourth layer of protection — the module respects the standard reCAPTCHA hook.
Can I export submissions?
Yes. The admin submission grid supports Magento's standard Export to CSV / XML action. Bulk select submissions and choose Export from the mass-action dropdown.
Are submissions GDPR-compliant?
The module stores only what the customer submitted. To support data-subject deletion requests, use the Bulk Delete mass action or call the repository's deleteById() method from a custom GDPR handler. Submission retention duration is unrestricted — add a cron job to purge old entries if needed.
Can I add a file upload field?
Not in the base module. For file attachments, use Panth Order Attachments (for orders) or Panth Dynamic Forms (for general form builder with file uploads). Custom file fields can be added via a small extension plugin.
How do I customize the form layout?
Copy the template from view/frontend/templates/form.phtml into your theme at app/design/frontend/<Vendor>/<theme>/Panth_AdvancedContactUs/templates/form.phtml and edit. All styling is via standard CSS — no build step required.
Does it support multi-store / multi-language?
Yes. All settings respect Magento's scope hierarchy (default → website → store view), and all user-facing strings pass through Magento's __() translation function. Translate the module to any language via i18n/<locale>.csv.
Support
| Channel | Contact |
|---|---|
| kishansavaliyakb@gmail.com | |
| Website | kishansavaliya.com |
| +91 84012 70422 | |
| GitHub Issues | github.com/mage2sk/module-advanced-contact-us/issues |
| Upwork (Top Rated Plus) | Hire Kishan Savaliya |
| Upwork Agency | Panth Infotech |
Response time: 1-2 business days. Priority support available via Upwork contract.
💼 Need Custom Magento Development?
Looking for custom Magento module development, Hyva theme customization, store migrations, or performance optimization? Get a free quote in 24 hours:
Specializations:
- 🛒 Magento 2 Module Development — custom extensions following MEQP standards
- 🎨 Hyva Theme Development — Alpine.js + Tailwind CSS, lightning-fast storefronts
- 🖌️ Luma Theme Customization — pixel-perfect designs, responsive layouts
- ⚡ Performance Optimization — Core Web Vitals, page speed, caching strategies
- 🔍 Magento SEO — structured data, hreflang, sitemaps, AI-generated meta
- 🛍️ Checkout Optimization — one-page checkout, conversion rate optimization
- 🚀 M1 to M2 Migrations — data migration, custom feature porting
- ☁️ Adobe Commerce Cloud — deployment, CI/CD, performance tuning
- 🤖 AI-Powered eCommerce — OpenAI/Claude integration for content, search, recommendations
- 🔌 Third-party Integrations — payment gateways, ERP, CRM, marketing tools
Industries served: Fashion & Apparel, Electronics, Health & Beauty, Food & Beverage, Home & Garden, B2B Wholesale, Multi-vendor Marketplaces.
License
Panth Advanced Contact Us is distributed under a proprietary license — see LICENSE.txt. Single-store use per installation; contact us for multi-store enterprise licensing.
About Panth Infotech
Built and maintained by Kishan Savaliya — kishansavaliya.com — a Top Rated Plus Magento developer on Upwork with 10+ years of eCommerce experience.
Panth Infotech is a Magento 2 development agency specializing in high-quality, security-focused extensions and themes for both Hyva and Luma storefronts. Our extension suite covers SEO, performance, checkout, product presentation, customer engagement, and store management — over 34 modules built to MEQP standards and tested across Magento 2.4.4 to 2.4.8.
Browse the full extension catalog on the Adobe Commerce Marketplace or Packagist.
Quick Links
- 🌐 Website: kishansavaliya.com
- 💬 Get a Quote: kishansavaliya.com/get-quote
- 👨💻 Upwork Profile (Top Rated Plus): upwork.com/freelancers/~016dd1767321100e21
- 🏢 Upwork Agency: upwork.com/agencies/1881421506131960778
- 📦 Packagist: packagist.org/packages/mage2kishan/module-advanced-contact-us
- 🐙 GitHub: github.com/mage2sk/module-advanced-contact-us
- 🛒 Adobe Marketplace: commercemarketplace.adobe.com
- 📧 Email: kishansavaliyakb@gmail.com
- 📱 WhatsApp: +91 84012 70422
Ready to upgrade your Magento 2 contact page?
SEO Keywords: magento 2 contact form, magento 2 advanced contact us, magento 2 ajax contact form, magento 2 contact form extension, magento 2 custom contact fields, magento 2 contact us page, magento 2 contact form with custom fields, magento 2 contact submissions grid, magento 2 contact form database storage, magento 2 contact form spam protection, magento 2 honeypot contact form, magento 2 contact form rate limit, magento 2 contact form no captcha, magento 2 contact form without recaptcha, magento 2 replace default contact form, magento 2 contact form vanilla javascript, magento 2 luma contact form, magento 2 contact form email notification, magento 2 contact form auto reply, magento 2 contact form admin grid, magento 2 contact form status tracking, magento 2 contact form bulk actions, magento 2 contact form gdpr, magento 2 lead capture form, magento 2 inquiry form extension, panth advanced contact us, panth infotech contact form, mage2kishan contact us, magento 2.4.8 contact form, php 8.4 magento contact, hire magento developer upwork, top rated plus magento freelancer, kishan savaliya magento, panth infotech magento, custom magento development india, magento 2 hyva development, magento 2 MEQP compliant module