{"id":331690,"date":"2026-07-03T08:50:58","date_gmt":"2026-07-03T08:50:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simpliroot-lead-capture\/"},"modified":"2026-07-20T18:04:12","modified_gmt":"2026-07-20T18:04:12","slug":"simpliroot-lead-capture","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/simpliroot-lead-capture\/","author":23522838,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.6.0","stable_tag":"2.6.0","tested":"7.0.2","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"SimpliRoot - Lead Capture & Call Tracking for WordPress","header_author":"SimpliRoot","header_description":"Sends Contact Form 7 submissions and tracked phone calls to your SimpliRoot CRM server-side (no cookies\/GTM needed), with full ad-platform attribution. Configure with just your project token.","assets_banners_color":"827bfe","last_updated":"2026-07-20 18:04:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/app.simpliroot.com","header_author_uri":"https:\/\/simpliroot.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":132,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.4.0":{"tag":"2.4.0","author":"simpliteca","date":"2026-07-03 09:03:06"},"2.4.1":{"tag":"2.4.1","author":"simpliteca","date":"2026-07-20 10:06:01"},"2.4.2":{"tag":"2.4.2","author":"simpliteca","date":"2026-07-20 10:58:21"},"2.5.0":{"tag":"2.5.0","author":"simpliteca","date":"2026-07-20 11:18:12"},"2.5.1":{"tag":"2.5.1","author":"simpliteca","date":"2026-07-20 14:14:32"},"2.6.0":{"tag":"2.6.0","author":"simpliteca","date":"2026-07-20 18:04:12"}},"upgrade_notice":{"2.4.0":"<p>Scripts are now enqueued the WordPress way and attribution data is sanitized per value.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3595009,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3595009,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3595009,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3595009,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.4.0","2.4.1","2.4.2","2.5.0","2.5.1","2.6.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3595017,"resolution":"1","location":"assets","locale":"","width":1500,"height":912},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3595017,"resolution":"2","location":"assets","locale":"","width":1500,"height":935}},"screenshots":{"1":"The SimpliRoot settings screen \u2014 connected to a project, with Contact Form 7 lead capture and call tracking enabled.","2":"Testing the connection \u2014 the plugin resolves your project token and confirms which CRM the leads will be sent to."}},"plugin_section":[],"plugin_tags":[9067,15553,1152,1150,335],"plugin_category":[58],"plugin_contributors":[269972],"plugin_business_model":[],"class_list":["post-331690","plugin","type-plugin","status-publish","hentry","plugin_tags-attribution","plugin_tags-call-tracking","plugin_tags-contact-form-7","plugin_tags-crm","plugin_tags-leads","plugin_category-user-management","plugin_contributors-simpliteca","plugin_committers-simpliteca"],"banners":{"banner":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/banner-772x250.png?rev=3595009","banner_2x":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/banner-1544x500.png?rev=3595009","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/icon-128x128.png?rev=3595009","icon_2x":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/icon-256x256.png?rev=3595009","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/screenshot-1.png?rev=3595017","caption":"The SimpliRoot settings screen \u2014 connected to a project, with Contact Form 7 lead capture and call tracking enabled."},{"src":"https:\/\/ps.w.org\/simpliroot-lead-capture\/assets\/screenshot-2.png?rev=3595017","caption":"Testing the connection \u2014 the plugin resolves your project token and confirms which CRM the leads will be sent to."}],"raw_content":"<!--section=description-->\n<p><strong>SimpliRoot Lead Capture &amp; Call Tracking<\/strong> connects your WordPress site to <strong>SimpliRoot<\/strong> (https:\/\/simpliroot.com) \u2014 a marketing CRM and reporting platform. This plugin is the WordPress piece of that larger system: it captures every lead your website produces \u2014 form submissions and phone calls \u2014 and forwards them, with full marketing attribution, to your project's CRM inside SimpliRoot, where your team works the leads and your campaigns are reported on.<\/p>\n\n<p>Capture happens <strong>server-side<\/strong>, so it keeps working even when a visitor declines cookies, blocks JavaScript or uses an ad-blocker, and without depending on Google Tag Manager.<\/p>\n\n<h4>How lead capture works<\/h4>\n\n<p>When someone submits a form on your site, the plugin reads the submitted fields \u2014 detecting the name, email and phone automatically, whatever the field names are \u2014 together with the exact page URL, any consent (acceptance) checkboxes, and the marketing attribution of that visit (UTM parameters, ad-platform click-ids and referrer). The lead is stored locally first and then delivered to your CRM. If SimpliRoot is briefly unreachable, the lead is queued and retried automatically, so nothing is lost \u2014 and each lead carries a stable id, so a retry never creates a duplicate.<\/p>\n\n<p>Attribution recognizes UTM parameters, referrer, and 16 ad-platform click-ids automatically: Google (gclid\/gbraid\/wbraid), Microsoft, Meta, TikTok, LinkedIn, X, Pinterest, Reddit, Snapchat, Yandex, Taboola and Outbrain \u2014 so you always know which campaign produced each lead.<\/p>\n\n<h4>Supported form plugins<\/h4>\n\n<p>The plugin captures leads from all the major WordPress form builders:<\/p>\n\n<ul>\n<li><strong>Contact Form 7<\/strong><\/li>\n<li><strong>Elementor Forms<\/strong><\/li>\n<li><strong>WPForms<\/strong><\/li>\n<li><strong>Gravity Forms<\/strong><\/li>\n<li><strong>Fluent Forms<\/strong><\/li>\n<\/ul>\n\n<p>These five are captured server-side \u2014 after validation, with no dependency on JavaScript. Any other form is captured too: a custom theme form, Ninja Forms, Forminator, Formidable, and so on \u2014 so a site that doesn't use one of the builders above still doesn't lose its leads. Forms already handled server-side are never double-counted, and search \/ login \/ comment forms are ignored.<\/p>\n\n<p>Need a form plugin we don't list yet, or a specific integration for your setup? <strong>We can build new features on request<\/strong> \u2014 SimpliRoot is actively developed; just tell us what you need.<\/p>\n\n<h4>Call tracking (DNI)<\/h4>\n\n<p>Optionally, the plugin loads SimpliRoot's dynamic-number-insertion script, which swaps the phone numbers shown on your site so that each phone call is tied back to the campaign that drove the visit \u2014 the same way form leads are attributed.<\/p>\n\n<h4>One CRM for every lead \u2014 including Meta<\/h4>\n\n<p>Because the plugin connects your website to your SimpliRoot project, your leads land in the same CRM as the rest of your marketing. Once connected, that CRM can also collect <strong>leads from Meta (Facebook and Instagram) Lead Ads<\/strong> \u2014 so your website forms, phone calls and Meta lead-form submissions all arrive in one place, fully attributed and ready for your team to act on.<\/p>\n\n<h4>Token-only setup<\/h4>\n\n<p>Paste your project token and pick what to track. \"Test connection\" and \"Send test lead\" buttons confirm everything works.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A <strong>SimpliRoot account<\/strong> and a project token (free to obtain at https:\/\/simpliroot.com).<\/li>\n<li>For form capture: one of the supported form plugins listed above (or any other form \u2014 it is captured as well).<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a client for the <strong>SimpliRoot<\/strong> service and <strong>requires an active SimpliRoot account<\/strong> to function. It is not usable on its own. It communicates with SimpliRoot's API at <strong>https:\/\/app.simpliroot.com<\/strong>.<\/p>\n\n<p>The following data is transmitted to SimpliRoot:<\/p>\n\n<ol>\n<li><p><strong>When you save settings or use the \"Test connection\" button<\/strong> (admin only): your project token is sent to <code>https:\/\/app.simpliroot.com\/api\/leads\/config\/{token}<\/code> to resolve and display the connected project name.<\/p><\/li>\n<li><p><strong>When a visitor submits a Contact Form 7 form<\/strong> (if form capture is enabled): the plugin sends to <code>https:\/\/app.simpliroot.com\/api\/leads\/web\/{token}<\/code> the data the visitor entered (e.g. name, email, phone and any other form fields), the state of consent checkboxes, the page URL, the referrer, the visitor's IP address and browser user-agent string, and any UTM parameters \/ ad-platform click-ids present in the visit. This is personal data and is sent so it can be stored as a lead in your CRM.<\/p><\/li>\n<li><p><strong>When call tracking is enabled<\/strong>: the plugin loads the script <code>https:\/\/app.simpliroot.com\/js\/dni-router.js<\/code> on your pages, which swaps displayed phone numbers and reports call attribution to SimpliRoot.<\/p><\/li>\n<li><p><strong>When you click \"Send test lead\"<\/strong> (admin only): a sample lead is sent to the same lead endpoint so you can verify the connection.<\/p><\/li>\n<\/ol>\n\n<p>Your use of the SimpliRoot service is governed by its terms and privacy policy:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/simpliroot.com\/terms\/<\/li>\n<li>Privacy Policy: https:\/\/simpliroot.com\/privacy\/<\/li>\n<\/ul>\n\n<p>As the site owner you are responsible for disclosing this data processing to your visitors and for obtaining any consent required in your jurisdiction.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>In your WordPress admin, open the <strong>SimpliRoot<\/strong> menu.<\/li>\n<li>Paste your <strong>Project token<\/strong> (SimpliRoot \u2192 your project \u2192 <em>Calls<\/em> tab \u2192 <em>Project token<\/em>).<\/li>\n<li>Choose what to track: <strong>Form leads<\/strong> (requires Contact Form 7) and\/or <strong>Call tracking<\/strong>.<\/li>\n<li>Click <strong>Save changes<\/strong>, then <strong>Test connection<\/strong> and <strong>Send test lead<\/strong> to confirm leads arrive in your CRM.<\/li>\n<\/ol>\n\n<p>If you previously added the DNI tag through Google Tag Manager, remove it after enabling call tracking here to avoid loading it twice.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20simpliroot%20account%3F\"><h3>Do I need a SimpliRoot account?<\/h3><\/dt>\n<dd><p>Yes. This plugin sends your leads to SimpliRoot and requires a project token from a SimpliRoot account.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20cookie%20consent%3F\"><h3>Does it work without cookie consent?<\/h3><\/dt>\n<dd><p>Yes. Form and call data are captured server-side, so capture does not depend on the visitor accepting cookies. You remain responsible for disclosing this processing to visitors.<\/p><\/dd>\n<dt id=\"which%20forms%20are%20supported%3F\"><h3>Which forms are supported?<\/h3><\/dt>\n<dd><p>Contact Form 7, Elementor Forms, WPForms, Gravity Forms and Fluent Forms are captured server-side (reliable, after validation). Any other form on the site \u2014 custom theme forms, Ninja Forms, Forminator, Formidable, etc. \u2014 is captured on submit as a fallback. The plugin reads each form's fields and consent (acceptance) tags automatically.<\/p><\/dd>\n<dt id=\"where%20do%20my%20leads%20go%3F\"><h3>Where do my leads go?<\/h3><\/dt>\n<dd><p>To the CRM of the project the token belongs to, inside your SimpliRoot account at https:\/\/app.simpliroot.com.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>New: capture leads from more form plugins, not just Contact Form 7. Elementor Forms, WPForms, Gravity Forms and Fluent Forms are now captured server-side through the same reliable queue. Any other form on the site (custom theme forms, Ninja Forms, Forminator, Formidable, etc.) is captured on submit as a fallback, so a site that doesn't use Contact Form 7 no longer silently loses its leads. Forms already handled server-side are never double-counted, and search\/login\/comment forms are ignored.<\/li>\n<\/ul>\n\n<h4>2.5.1<\/h4>\n\n<ul>\n<li>Fix: capture leads on <code>wpcf7_submit<\/code> instead of <code>wpcf7_before_send_mail<\/code>. On forms protected by reCAPTCHA\/Akismet, a submission flagged as spam never fired the old hook, so genuine leads were silently dropped. Leads are now captured for every completed submission (including spam-flagged and mail-failed) and forwarded with their status, so an over-strict anti-spam filter can no longer lose a lead \u2014 it is flagged in the CRM instead of hidden.<\/li>\n<\/ul>\n\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>Reliability: form leads are now stored locally and retried. If SimpliRoot is temporarily unreachable or returns an error, the lead is queued and re-sent automatically (WP-Cron, with backoff) instead of being lost. Each lead carries a stable id so retries never create duplicates. Local records are pruned automatically (sent leads after 7 days). Settings page shows the queue status with a \"Resend now\" button.<\/li>\n<\/ul>\n\n<h4>2.4.2<\/h4>\n\n<ul>\n<li>Fix: detect the name\/email\/phone fields by their Contact Form 7 field TYPE (email\/tel tags), not by a fixed list of field names. Forms using CF7's auto-generated field names (e.g. email-443, tel-278) were submitted successfully but produced no lead, because the old detection matched none of their fields. Adds keyword and value-shape fallbacks so leads are captured from any form layout.<\/li>\n<\/ul>\n\n<h4>2.4.1<\/h4>\n\n<ul>\n<li>Fix: Contact Form 7 leads are now captured on <code>wpcf7_before_send_mail<\/code> instead of <code>wpcf7_mail_sent<\/code>. On sites where CF7 email delivery fails (e.g. no SMTP configured), submissions were silently not sent to the CRM; they are now captured regardless of whether the notification email is delivered.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>All scripts now enqueued via wp_enqueue_script \/ wp_add_inline_script (no inline script tags).<\/li>\n<li>Attribution cookie data is sanitized per value before use.<\/li>\n<li>Single-line plugin description; display name updated.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Prepared for the WordPress.org Plugin Directory: added readme, full external-services disclosure, license file.<\/li>\n<li>Hardening: unslash\/sanitize all superglobal input before use.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Capture all Contact Form 7 fields, the exact page URL, and consent checkbox states.<\/li>\n<li>16 ad-platform click-ids plus UTM and referrer attribution.<\/li>\n<li>Settings page with Test connection and Send test lead.<\/li>\n<\/ul>","raw_excerpt":"Send Contact Form 7 submissions and tracked phone calls to your SimpliRoot CRM \u2014 server-side, with full ad-platform attribution.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331690"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/simpliteca"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331690"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331690"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331690"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331690"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331690"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}