{"id":352253,"date":"2026-08-18T20:13:48","date_gmt":"2026-08-18T20:13:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/capybara-seo-lead-source-tracker\/"},"modified":"2026-08-18T20:13:18","modified_gmt":"2026-08-18T20:13:18","slug":"capybara-seo-lead-source-tracker","status":"publish","type":"plugin","link":"https:\/\/kk.wordpress.org\/plugins\/capybara-seo-lead-source-tracker\/","author":23547245,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.7.0","stable_tag":"0.7.0","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Capybara SEO Lead Source Tracker","header_author":"Henry Silva","header_description":"Captures UTMs and click IDs, keeps them across page visits, and adds them to your WhatsApp messages via an auto-injected floating button, your existing buttons, and\/or a shortcode \u2014 combinable. <a href=\"options-general.php?page=capysele-lead-source-tracker\">Configure the plugin<\/a>.","assets_banners_color":"f9fbfd","last_updated":"2026-08-18 20:13:18","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_donations&business=paypal@ilmaistro.pe&currency_code=USD","header_plugin_uri":"https:\/\/seo.pe","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.7.0":{"tag":"0.7.0","author":"capybaraseo","date":"2026-08-18 20:13:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3653496,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3653496,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3653496,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3653496,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3653496,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.7.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3653496,"resolution":"1","location":"assets","locale":"","width":1316,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3653496,"resolution":"2","location":"assets","locale":"","width":1316,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3653496,"resolution":"3","location":"assets","locale":"","width":1456,"height":831},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3653496,"resolution":"4","location":"assets","locale":"","width":1378,"height":848}},"screenshots":{"1":"Configure the receiving number and choose one or more button placements.","2":"Customize the message template with first-touch attribution placeholders.","3":"Display the tracked floating button and shortcode button on a WordPress page.","4":"Send a prefilled WhatsApp message containing the captured lead-source data."}},"plugin_section":[],"plugin_tags":[9067,335,550,24188,3160],"plugin_category":[36],"plugin_contributors":[276362],"plugin_business_model":[],"class_list":["post-352253","plugin","type-plugin","status-publish","hentry","plugin_tags-attribution","plugin_tags-leads","plugin_tags-tracking","plugin_tags-utm","plugin_tags-whatsapp","plugin_category-analytics","plugin_contributors-capybaraseo","plugin_committers-capybaraseo"],"banners":{"banner":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/banner-772x250.png?rev=3653496","banner_2x":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/banner-1544x500.png?rev=3653496","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/icon.svg?rev=3653496","icon":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/icon.svg?rev=3653496","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/screenshot-1.png?rev=3653496","caption":"Configure the receiving number and choose one or more button placements."},{"src":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/screenshot-2.png?rev=3653496","caption":"Customize the message template with first-touch attribution placeholders."},{"src":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/screenshot-3.png?rev=3653496","caption":"Display the tracked floating button and shortcode button on a WordPress page."},{"src":"https:\/\/ps.w.org\/capybara-seo-lead-source-tracker\/assets\/screenshot-4.png?rev=3653496","caption":"Send a prefilled WhatsApp message containing the captured lead-source data."}],"raw_content":"<!--section=description-->\n<p>Capybara SEO Lead Source Tracker captures UTM parameters and click IDs (gclid, gbraid, wbraid, fbclid) from the URL, stores them in localStorage (first-touch attribution), and automatically updates WhatsApp links with a dynamic message that includes the lead source data.<\/p>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li>Captures utm_source, utm_medium, utm_campaign, utm_content, utm_term, gclid, gbraid, wbraid, fbclid<\/li>\n<li>First-touch attribution: data is preserved across pages even if subsequent visits have no UTMs<\/li>\n<li>Automatic channel detection: Google Ads, Meta Ads, Organic, Referral<\/li>\n<li>Lines with no captured data are omitted from the WhatsApp message<\/li>\n<li>Combinable button placements: Floating button (auto-injected, zero setup) and CSS Selector (reuse existing buttons) can both be turned on at once, plus the always-available [capysele_button] shortcode \u2014 all sharing the same number and tracking<\/li>\n<li>Customizable message template with placeholders<\/li>\n<li>Multilingual: English and Spanish included. Language is set automatically based on the WordPress site locale.<\/li>\n<li>Debug mode: logs captured data to the browser console<\/li>\n<\/ul>\n\n<p><strong>Available placeholders for the message template:<\/strong><\/p>\n\n<p>{channel}, {utm_source}, {utm_medium}, {utm_campaign}, {utm_content}, {utm_term}, {gclid}, {gbraid}, {wbraid}, {fbclid}, {landing_page}, {captured_at}<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin zip from Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Settings &gt; Capybara SEO Lead Source Tracker.<\/li>\n<li>Set your WhatsApp number and message template.<\/li>\n<li>Turn on \"Floating button\" for a ready-to-use button with no further setup, and\/or turn on \"CSS Selector\" with the CSS class of an existing button to add tracking to it \u2014 both can be enabled together. The [capysele_button] shortcode is always available regardless of these toggles.<\/li>\n<li>Test with a URL containing UTM parameters, e.g. ?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=test<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20any%20whatsapp%20button%3F\"><h3>Does it work with any WhatsApp button?<\/h3><\/dt>\n<dd><p>Yes. Enable \"CSS Selector\" and set the selector to match your existing buttons (e.g. a[href*=\"wa.me\"]) and the plugin will update their href automatically. This can be combined with the floating button at the same time.<\/p><\/dd>\n<dt id=\"what%20is%20first-touch%20attribution%3F\"><h3>What is first-touch attribution?<\/h3><\/dt>\n<dd><p>The first UTM parameters captured during a user's session are stored and kept even if the user navigates to other pages without UTMs. This way, the original traffic source is always preserved in the WhatsApp message.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20field%20has%20no%20data%3F\"><h3>What happens if a field has no data?<\/h3><\/dt>\n<dd><p>Lines in the message template whose placeholder has no captured value are automatically removed from the WhatsApp message.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Renamed internal PHP\/JS\/CSS identifiers (constants, classes, option key, shortcode, script\/style handles, JS global, localStorage key, CSS classes) from the <code>wa_ls<\/code>\/<code>WA_LS<\/code>\/<code>wa-ls<\/code> prefix to <code>capysele<\/code>, per WordPress.org review feedback that the old prefix (inherited from an earlier codename) wasn't distinctive. The shortcode is now [capysele_button].<\/li>\n<li>readme.txt Description, Installation and FAQ are now English-only, per WordPress.org guidelines. Spanish content in the plugin UI itself is unaffected \u2014 it's still handled via standard WordPress i18n.<\/li>\n<li>Removed the bundled es_ES .po\/.mo translation files from the package; translations are now handled via translate.wordpress.org once the plugin is live.<\/li>\n<li>Removed the now-unnecessary load_plugin_textdomain() call and its accompanying plugin_locale filter (not needed for WordPress.org-hosted plugins since WP 4.6).<\/li>\n<li>Settings are stored under a new option key (capysele_settings); existing installs will start from defaults after updating.<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>Renamed the plugin again, from \"Capybara SEO Lead Source Tracker for WhatsApp\" to \"Capybara SEO Lead Source Tracker\" \u2014 WordPress.org's readme validator flagged \"whatsapp\" as a restricted term that cannot appear anywhere in the plugin name or permalink\/slug (not just at the start). The word is still used freely in the description, FAQ, and tags, which aren't restricted. No functional changes; settings and stored data are preserved.<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Renamed the plugin from \"WA Lead Source Tracker\" to \"Capybara SEO Lead Source Tracker for WhatsApp\" \u2014 WordPress.org rejected the \"WA\" prefix as a restricted trademark-related term at the start of a plugin name\/slug. No functional changes; settings and stored data are preserved.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Added a floating WhatsApp button that the plugin can auto-inject on every page (bottom-right, standard chat-bubble style), with no need for an existing button, link, or shortcode placement.<\/li>\n<li>Replaced the old single, mutually-exclusive \"operation mode\" with independent, combinable toggles: Floating button and CSS Selector can now be turned on at the same time (e.g. keep tracking your existing button and also show the floating button on pages that don't have one). The shortcode is now always available regardless of these toggles. Existing sites are migrated automatically \u2014 no action needed.<\/li>\n<li>Reorganized the settings page into numbered sections (Enable &amp; number, Where the button appears, Message, Advanced) with a plain-language guide explaining when to turn on each option.<\/li>\n<\/ul>\n\n<h4>0.5.8<\/h4>\n\n<ul>\n<li>Added a settings link directly inside the plugin's description on the Plugins screen (in addition to the existing \"Settings\" row action).<\/li>\n<li>Plugin header Description is now sourced in English and translated to Spanish, consistent with the rest of the plugin's i18n strings.<\/li>\n<\/ul>\n\n<h4>0.5.7<\/h4>\n\n<ul>\n<li>Fix: regional Spanish site locales (es_PE, es_MX, es_AR, es_CO, etc.) fell back to English because the bundled translation only matched es_ES exactly. Any es_* locale now maps to the bundled es_ES translation.<\/li>\n<li>Fully translated the default WhatsApp message template into Spanish (source\/medium\/campaign\/term labels were previously left in English).<\/li>\n<li>Added a \"Settings\" quick link to the plugin's row on the Plugins screen.<\/li>\n<\/ul>\n\n<h4>0.5.6<\/h4>\n\n<ul>\n<li>Fix: organic Google\/Bing\/Yahoo\/DuckDuckGo\/Baidu\/Yandex\/Ecosia search traffic without UTMs was misclassified as Referral instead of Organic. Search engine referrers are now detected and mapped to the Organic channel before the generic referral fallback.<\/li>\n<\/ul>\n\n<h4>0.5.5<\/h4>\n\n<ul>\n<li>Added referral URL tracking via document.referrer: external referrers are captured and exposed via the {referrer} placeholder, and used as a fallback signal for Referral channel detection.<\/li>\n<\/ul>\n\n<h4>0.5.4<\/h4>\n\n<ul>\n<li>Fix Joinchat integration: intercept click on document (capture phase) instead of updating data-settings DOM attribute, since Joinchat caches settings in memory on init.<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>Joinchat plugin compatibility: selector targeting .joinchat updates message_send inside data-settings JSON.<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>Replaced emoji with WhatsApp bold markdown (<em>[...]<\/em>) to avoid encoding corruption across all devices and WP sanitization pipeline.<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Replaced \ud83d\udccb emoji with \u26a0\ufe0f (better device support).<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Default message template now includes a framed reference block before tracking variables to discourage users from deleting attribution data.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Added multilingual support: English and Spanish (auto-detected from WordPress site locale).<\/li>\n<li>English set as source language following WordPress i18n standards.<\/li>\n<li>Channel labels (Organic, Referral, etc.) are now translatable.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Fixed channel detection: gclid, gbraid, wbraid now correctly identify Google Ads without requiring UTM parameters.<\/li>\n<li>Removed \"Directo \/ sin dato\" fallback \u2014 channel line is now hidden when there is no attribution data.<\/li>\n<li>Lines with no captured data are filtered from the WhatsApp message.<\/li>\n<li>Consecutive blank lines collapsed after filtering.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Operation mode (CSS Selector vs Shortcode) now correctly controls which buttons are targeted.<\/li>\n<li>Shortcode mode targets only plugin-generated buttons.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial MVP release.<\/li>\n<\/ul>","raw_excerpt":"Captures UTMs and click IDs and adds them to your WhatsApp messages via a floating button, existing buttons, or a shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352253"}],"author":[{"embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/capybaraseo"}],"wp:attachment":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352253"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352253"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352253"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352253"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352253"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}