Title: MyVitalAssistant
Author: vitalconsulting
Published: <strong>August 18, 2026</strong>
Last modified: August 18, 2026

---

Search plugins

![](https://ps.w.org/myvitalassistant/assets/icon-256x256.png?rev=3651998)

# MyVitalAssistant

 By [vitalconsulting](https://profiles.wordpress.org/vitalconsulting/)

[Download](https://downloads.wordpress.org/plugin/myvitalassistant.1.5.4.zip)

 * [Details](https://wordpress.org/plugins/myvitalassistant/#description)
 * [Reviews](https://wordpress.org/plugins/myvitalassistant/#reviews)
 *  [Installation](https://wordpress.org/plugins/myvitalassistant/#installation)
 * [Development](https://wordpress.org/plugins/myvitalassistant/#developers)

 [Support](https://wordpress.org/support/plugin/myvitalassistant/)

## Description

This is the companion plugin for [MyVitalAssistant](https://myvitalassistant.com),
a marketing attribution service for businesses that run Keap or HighLevel alongside
Google and Meta ads. It requires a MyVitalAssistant account and does nothing until
you connect one on its settings page.

It does three things.

**Serves tracking from your own domain.** The MyVitalAssistant tracking script normally
loads from a tracking subdomain. Safari treats a first party name answering from
a third party network as cloaking and caps its cookie at seven days, which quietly
erases the ad click that earned each visitor. This plugin claims one path on your
site, /vt/, and forwards it to the MyVitalAssistant collector, so the browser only
ever talks to your own domain and the attribution cookie lives its full term.

**Carries attribution into your forms.** When a visitor submits a form built with
Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Ninja Forms, Formidable, Elementor
Pro, or Keap Opt-in Forms, the plugin sends the submitted email, name, and phone
along with the visitor’s attribution cookie to your MyVitalAssistant account, which
writes the attribution onto the contact in your connected CRM, Keap or HighLevel.
No hidden fields to wire.

**Optionally syncs WooCommerce orders.** If you paste an order sync key from your
MyVitalAssistant account, paid orders, status changes, and refunds are sent across
so your sales reach your CRM and your books with the ad that earned them already
attached. This is off until you paste the key. The payload is built field by field
on an allow list; order meta beyond WooCommerce’s own attribution fields and known
CRM ids never leaves your server.

Nothing is stored on your site beyond the plugin settings and a small activity log
of the last 100 captures. No database tables are created.

### External services

This plugin is a connector for the MyVitalAssistant service, operated by Vital Consulting.
It sends data to the collector endpoint you configure, which is https://t.myvitalassistant.
com unless support tells you otherwise.

The plugin contacts no external service at all until you connect your account on
its settings page. Connecting is the deliberate opt in: every call listed below 
starts only after you have registered with the service and configured the plugin,
and stops the moment you deactivate.

What is sent, and when:

 * **Visitor tracking beacons.** When a page loads, the tracking script sends the
   page URL, referrer, any ad click ids and UTM parameters on the URL, and an anonymous
   visitor id, through your own /vt/ path to the collector. This runs on every public
   page view once the plugin is connected.
 * **Form captures.** When one of the supported form plugins accepts a submission,
   the plugin sends the submitted email, name, and phone plus the visitor’s attribution
   cookie to the collector, so the lead’s contact in your connected CRM receives
   its attribution.
 * **WooCommerce orders.** Only if you paste the optional order sync key: order 
   number, status, totals, line items, billing name, email, phone and company, coupon
   and refund details, and WooCommerce’s own attribution meta are sent when payment
   completes, when status changes, and when a refund is recorded.
 * **Account linking.** When you enter your MyVitalAssistant email on the settings
   page, the plugin sends that email and your site URL once to look up your account.
 * **A daily heartbeat.** Once a day the plugin pings the collector with your account
   id, your plugin version and your WordPress version, so your MyVitalAssistant 
   dashboard can tell you the install is alive and warn you when something needs
   attention. On a site running WooCommerce it also sends your WooCommerce version,
   your store currency, and the name, folder and version number of your active commerce
   and CRM plugins, so the dashboard can warn you when one of those extensions changes
   what your order data means. That plugin list is sent only when WooCommerce is
   present, because that is the only situation the warning applies to. No other 
   plugin list, no post content, no user accounts and no customer records are sent
   by the heartbeat. It also fetches your own home page from your server once a 
   day to warn you if an old hand pasted tracking tag is still present and double
   counting.

This data is processed under the MyVitalAssistant [terms of service](https://myvitalassistant.com/terms)
and [privacy policy](https://myvitalassistant.com/privacy). You are responsible 
for disclosing your use of visitor tracking in your own site’s privacy policy, and
for any visitor consent your jurisdiction requires.

## Installation

 1. Install and activate the plugin.
 2. Go to Settings, then MyVitalAssistant.
 3. Enter the email address you sign in to MyVitalAssistant with and press Save. The
    plugin looks up your account and connects the site.
 4. Confirm it worked inside MyVitalAssistant under Settings, then Tracking: “How long
    your cookie lives” should read 400 DAYS within a few minutes of your next visitor.
 5. If you previously pasted the tracking script tag into your theme by hand, remove
    it. The plugin adds its own, and two copies double count every pageview. The settings
    page warns you if it finds a leftover one.
 6. Optional: paste the order sync key from MyVitalAssistant to send WooCommerce sales
    across.

## FAQ

### Do I need a MyVitalAssistant account?

Yes. The plugin is a connector for the service and does nothing until you connect
an account. It stays inert if you activate it without one.

### What data leaves my site?

See the External services section above for the complete list. In short: visitor
tracking beacons, form submissions with their attribution, an optional WooCommerce
order feed you switch on deliberately, and a daily heartbeat that reports your versions
and, on a store, which commerce plugins are active. Nothing else. Order meta beyond
an explicit allow list never leaves your server, and the tracking path forwards 
only its own attribution cookie, never the rest of your visitors’ cookies.

### Does it slow my site down?

No. The tracking script loads async. Form captures are sent without blocking, with
a two second ceiling, and every capture hook is wrapped so a failure can never break
a visitor’s form submission. Order sends are the one blocking call, capped at three
seconds, because a lost sale matters more than a fast redirect.

### What about GDPR and visitor consent?

The plugin tracks visitors on behalf of your business, so the same obligations apply
as with any analytics or attribution tool: disclose it in your privacy policy and
gather whatever consent your jurisdiction requires. The visitor id is anonymous 
and the attribution cookie contains no personal information; form submissions carry
the personal data your visitor typed, which is sent to your own MyVitalAssistant
account.

### What happens when I deactivate or uninstall?

Deactivating stops everything immediately: no script tag, no proxy, no captures,
no daily ping. Uninstalling also deletes the plugin’s stored settings and its capture
log. Nothing else was ever stored on your site.

### Can I use it without WooCommerce?

Yes. Order sync is a separate opt in and everything else works without WooCommerce
installed.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MyVitalAssistant” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ vitalconsulting ](https://profiles.wordpress.org/vitalconsulting/)

[Translate “MyVitalAssistant” into your language.](https://translate.wordpress.org/projects/wp-plugins/myvitalassistant)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/myvitalassistant/),
check out the [SVN repository](https://plugins.svn.wordpress.org/myvitalassistant/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/myvitalassistant/)
by [RSS](https://plugins.trac.wordpress.org/log/myvitalassistant/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.5.4

 * The daily heartbeat sends its commerce plugin list only on sites actually running
   WooCommerce. It used to send it everywhere, including sites with no shop at all,
   where the warning it feeds could never apply. The External services section now
   describes exactly what the heartbeat carries.
 * The tracking path now forwards only its own attribution cookie to the collector.
   It used to forward the whole cookie header, which on a signed in session included
   the WordPress login cookie, and nothing on the receiving side ever used it. Attribution
   is unchanged: the one value it depends on still crosses exactly as before.
 * Cookies coming back from the collector are checked by name before they are set,
   because they are written under your own domain rather than ours.
 * Proxied responses always carry a nosniff header, so a mislabelled body cannot
   be treated as script running with your site’s authority.

#### 1.5.3

 * The Form leads switch names Keap’s Opt-in Forms among what it controls. It always
   did control them, and the description listed the other seven, so turning it off
   did more than it said.

#### 1.5.2

 * The Keap Opt-in Forms listener now verifies the request’s nonce before it reads
   anything, using the same check and the same action string that plugin’s own handler
   runs as its first statement. This plugin accepts exactly the set of requests 
   Keap accepts and never one Keap would reject.
 * That listener is only registered when the Keap Opt-in Forms plugin is actually
   installed. On every other site the endpoint does not exist at all.
 * Leads from Keap opt-in forms carry the person’s name again. The payload sends
   the Keap application’s name ahead of the contact’s, and the older code took the
   first one it saw.
 * Formidable Forms submissions are read through Formidable’s own entry API instead
   of the raw request. No superglobal is touched, and the values arrive keyed by
   the field’s real name, so the name and phone number recorded alongside a Formidable
   capture are the submitted ones rather than blank.

#### 1.5.1

 * A failed order send now retries once, two minutes later. The collector stores
   orders under one key per order, so a retry can never duplicate a sale.
 * Deactivating the plugin clears any pending retry.

#### 1.5.0

 * Review round from the wordpress.org plugins team, applied in full. Every function,
   option, hook, and constant now carries the myvita prefix; live sites migrate 
   their stored settings automatically and clean both prefixes on uninstall.
 * The Keap Opt-in Forms listener refuses crafted requests: it captures nothing 
   unless the Keap plugin’s own handler is registered behind it, holds a burst cap
   so admin-ajax floods cannot pollute the capture log, and accepts only scalar 
   form values.
 * The Update URI header is gone, per directory policy for hosted plugins.

#### 1.4.0

 * Settings panel for what this plugin sends: visitor tracking, form leads, and 
   WooCommerce order sync each get their own switch.
 * The daily heartbeat reports the store environment (WooCommerce version, currency,
   commerce extensions by name and version only) so the dashboard can warn when 
   an extension changes what order data means.

#### 1.3.2

 * The enqueued script carries the plugin version, so Plugin Check runs completely
   clean.

#### 1.3.1

 * Plugin Check pass. The tracking script is enqueued through the script strategy
   API with async, superglobal reads are unslashed, and the form listener hooks 
   document why another plugin’s nonce is not ours to verify.
 * Now requires WordPress 6.3, where the script strategy API arrived.

#### 1.3.0

 * First release in the WordPress.org directory. Earlier versions were distributed
   directly by MyVitalAssistant.
 * First party tracking path with full cookie lifetime in Safari.
 * Form capture for Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Ninja 
   Forms, Formidable, Elementor Pro, and Keap Opt-in Forms.
 * Optional WooCommerce order sync with an allow listed payload.
 * Daily heartbeat and stray tag detection.

## Meta

 *  Version **1.5.4**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[attribution](https://wordpress.org/plugins/tags/attribution/)
   [Keap](https://wordpress.org/plugins/tags/keap/)[tracking](https://wordpress.org/plugins/tags/tracking/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/myvitalassistant/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/myvitalassistant/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/myvitalassistant/reviews/)

## Contributors

 *   [ vitalconsulting ](https://profiles.wordpress.org/vitalconsulting/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/myvitalassistant/)