Linux 软件免费装
Banner图

Capybara SEO Lead Source Tracker

开发者 capybaraseo
更新时间 2026年10月21日 01:22
捐献地址: 去捐款
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

leads tracking whatsapp utm attribution

下载

0.8.0 0.7.0 0.7.1 0.9.0

详情介绍:

Capybara SEO Lead Source Tracker captures UTM parameters and click IDs (gclid, gbraid, wbraid, fbclid) from the URL, stores them in localStorage with a configurable attribution model (last click by default, or first click; kept for 7 days from the selected capture), and automatically updates WhatsApp links with a dynamic message that includes the lead source data. Key features: Available placeholders for the message template: {channel}, {utm_source}, {utm_medium}, {utm_campaign}, {utm_content}, {utm_term}, {gclid}, {gbraid}, {wbraid}, {fbclid}, {referrer}, {exit_page}, {exit_page_title}, {landing_page}, {captured_at} Use {exit_page} for new templates. The legacy {landing_page} placeholder remains supported and now returns the same click-time URL for backward compatibility. Use {exit_page_title} for the title of the page where the visitor clicks (read at click time); you can use the title, the URL, or both. Existing templates are not changed automatically.

安装:

  1. Upload the plugin zip from Plugins > Add New > Upload Plugin.
  2. Activate the plugin.
  3. Go to Settings > Capybara SEO Lead Source Tracker.
  4. Set your WhatsApp number and message template.
  5. Choose the attribution model in section 3: "Last click" (default) or "First click".
  6. 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 — both can be enabled together. The [capysele_button] shortcode is always available regardless of these toggles.
  7. Test with a URL containing UTM parameters, e.g. ?utm_source=google&utm_medium=cpc&utm_campaign=test. After changing settings, reload the site page (and purge any HTML cache) before testing.

屏幕截图:

  • Customize the message template with attribution placeholders.
  • Display the tracked floating button and shortcode button on a WordPress page.
  • Send a prefilled WhatsApp message containing the captured lead-source data.

升级注意事项:

0.9.0 New attribution model setting. Last click is now the default, also on existing sites: newer campaigns will replace the stored source. Choose "First click" in section 3 to keep the previous behavior. Purge page caches after updating. 0.8.0 First-touch attribution now expires 7 days after the initial capture and is no longer replaced by later visits. Adds AI platform channels and the {exit_page_title} placeholder. Saved templates are not changed. 0.7.1 Adds {exit_page} for the complete click-time URL. Existing {landing_page} templates remain compatible and now receive that same URL; saved attribution data and settings require no migration.

常见问题:

Does it work with any WhatsApp button?

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.

Which attribution model should I choose?

An identifiable entry is a page load with at least one UTM parameter, a click ID (gclid, gbraid, wbraid, fbclid), or an external referrer.

  • Last click (default): the most recent identifiable entry before the WhatsApp click. Each new entry replaces the whole previous record (fields are never mixed) and restarts the 7-day period. Use it to know which source preceded the contact.
  • First click: the first identifiable entry captured. Later entries don't replace it or restart the period. Use it to know the initial source within those 7 days.
Example: a person arrives from Google Ads on Monday, comes back from ChatGPT on Wednesday and clicks WhatsApp on Thursday. Last click reports ChatGPT; first click reports Google Ads. In both models, browsing between pages or coming back without source signals does not erase a valid attribution — a direct visit never replaces a campaign. The model applies to the whole site. Switching models keeps the current capture with its original date; it cannot recover earlier visits that were never stored. Open tabs keep the setting they loaded with until they are reloaded.

How long is attribution kept?

Attribution is kept in this browser's local storage for 7 days, counted from the selected capture. With last click, each new identifiable entry (including a reload of a URL that still carries UTMs or click IDs) replaces the record and restarts the period. With first click, later entries don't replace the source or restart the period. Visits without source signals and WhatsApp clicks never renew it in either model. Once it expires, the plugin stops using that record and deletes it the next time it runs; a new identifiable visit can then start a new attribution period. Attribution is stored per browser and device; it does not identify the same visitor across devices. {captured_at} shows the date of the selected capture: the initial one with first click, the most recent one with last click. When there is no valid capture it falls back to the time of the WhatsApp click, which is not evidence of a real capture. Visits with no UTMs, click IDs or external referrer are not labeled as Organic — no channel is assigned.

How are AI platforms detected?

When the selected capture comes from chatgpt.com, chat.openai.com, claude.ai, gemini.google.com, copilot.microsoft.com, or perplexity.ai (including their subdomains), the channel is reported as "AI - ChatGPT", "AI - Claude", and so on. Paid UTMs, click IDs, and utm_medium=organic take priority; AI is assigned only when there is no click ID and utm_medium is empty or "referral". Lookalike domains (e.g. chatgpt.com.example.org) are not matched.

What happens if a field has no data?

Lines in the message template whose placeholder has no captured value are automatically removed from the WhatsApp message.

更新日志:

0.9.0 0.8.0 0.7.1 0.7.0 0.6.2 0.6.1 0.6.0 0.5.8 0.5.7 0.5.6 0.5.5 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 0.4.0 0.3.0 0.2.0 0.1.0