Title: HITJMS Integration
Author: hitjms
Published: <strong>August 3, 2026</strong>
Last modified: August 3, 2026

---

Search plugins

![](https://ps.w.org/hitjms/assets/banner-772x250.png?rev=3632185)

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

# HITJMS Integration

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

[Download](https://downloads.wordpress.org/plugin/hitjms.1.7.0.zip)

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

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

## Description

HITJMS Integration connects your WordPress site to the **HITJMS** behavioral health
platform API. It lets treatment centers and medical organizations capture intake
leads, sync contacts, inject tracking, and embed a chat widget — all configured 
from a single settings screen.

**Features**

 * **Intake form** — a built-in lead form (or a HITJMS-native form by ID) that submits
   securely to the HITJMS API via AJAX, with a GA4 `hitjms_lead_submitted` event.
 * **Contact sync** — pull your HITJMS patient/contact records into a local table
   on a schedule (hourly / twice daily / daily) via WP-Cron, or on demand.
 * **Auto-blogging** — automatically mirror the AI-generated blog posts from your
   HITJMS site into WordPress by polling your site’s RSS feed. Import as drafts 
   or published, assign author and category, and optionally download featured images.
   Posts are de-duplicated so nothing is imported twice.
 * **Tracking** — enter your HITJMS site ID (hjpx_…) plus, optionally, a Google 
   Tag Manager (GTM-XXXXXXX) or Google Analytics 4 (G-XXXXXXXXXX) ID; the plugin
   builds and loads the correct tags for you. You never paste a script.
 * **Chat widget** — drop in your HITJMS chat embed site-wide or inline via shortcode.
 * **Embed codes** — copy-and-paste HTML for the chat widget, intake form and tracking
   pixel, for pages this plugin does not run on (a landing page, an old site, a 
   page builder that strips shortcodes).
 * **Shortcodes** — `[hitjms_intake_form]`, `[hitjms_chat_widget]`, `[hitjms_contact_list]`,`[
   hitjms_lead_count]` and more.

**Requires a HITJMS account.** You provide your own API key from the HITJMS Developer
dashboard. Without a key the plugin stays inactive/idle. If you do not have an account
yet, see [hitjms.com](https://hitjms.com/) for [plans and pricing](https://hitjms.com/pricing.html).

All connections to third-party services are described in the “External services”
section below. Nothing is sent anywhere until you enter your API key or enable a
feature — the plugin makes no outbound requests in its default state.

**HIPAA / PHI note:** Intake and contact data may constitute Protected Health Information(
PHI). Use of the HITJMS service for PHI requires a signed Business Associate Agreement(
BAA) with HITJMS — read more about [our HIPAA posture](https://hitjms.com/hipaa.html).
The plugin never writes contact data to logs or browser storage, and the contact
list is restricted to users with the `edit_posts` capability.

#### See it in action

A walkthrough of the HITJMS dashboard this plugin connects to — leads, intake, tracking
and content in one place:

Five organic growth moves for filling your calendar without ad spend — the marketing
thinking behind the auto-blogging and tracking features:

What clinical directors actually need from marketing, and why most agencies miss
it:

More on the [HITJMS YouTube channel](https://www.youtube.com/@HITJMS) and the [HITJMS blog](https://hitjms.com/blog/).

#### Who it is for

Built for [behavioral health and senior care organizations](https://hitjms.com/industries.html):
[mental health centers](https://hitjms.com/mental-health.html), [addiction treatment centers](https://hitjms.com/addiction-treatment.html),
[detox facilities](https://hitjms.com/detox-centers.html), [IOP and PHP programs](https://hitjms.com/iop-php.html),
[sober living homes](https://hitjms.com/sober-living.html) and [hospice providers](https://hitjms.com/hospice.html).

### External services

This plugin connects to the following external services. Each one is described below
with the data it receives, when that happens, and links to its terms and privacy
policy.

**1. HITJMS platform API (api.hitjms.com)**

This is the service the plugin is a client for. It is required for the plugin’s 
core functionality, and you must have your own HITJMS account and API key.

 * _What it is used for:_ creating intake submissions in, and reading contact records
   from, your HITJMS account.
 * _What is sent and when:_ when a visitor submits the intake form, the values they
   enter (such as name, email, phone, insurance provider, referral source and notes),
   together with your site’s URL, are sent over HTTPS to `https://api.hitjms.com/
   api/v1/intake`. When Contact Sync runs (on the schedule you choose, or when you
   click “Sync Now”), the plugin sends your API key to `https://api.hitjms.com/api/
   v1/patients` and stores the returned contact records in your site’s database 
   for display to logged-in staff only. When you click “Test Connection”, your API
   key alone is sent to verify it. No data is sent unless you have saved an API 
   key.
 * _Service provider:_ HITJMS.
 * _Terms of Service:_ https://hitjms.com/terms
 * _Privacy Policy:_ https://hitjms.com/privacy

**1b. HITJMS visitor tracking pixel (api.hitjms.com) — optional**

 * _What it is used for:_ recording visits, traffic sources and form conversions
   for your site in your HITJMS dashboard.
 * _What is sent and when:_ nothing by default. Only when you enter your HITJMS 
   site ID on the Tracking tab and switch the pixel on does the plugin load `https://
   api.hitjms.com/js/tracker.js` on your public pages. Visitors’ browsers then send
   HITJMS the page URL, referrer, traffic-source parameters, IP address and user
   agent. No cookies are set. Clearing the site ID or switching the pixel off stops
   all of it.
 * _Service provider:_ HITJMS.
 * _Terms of Service:_ https://hitjms.com/terms
 * _Privacy Policy:_ https://hitjms.com/privacy

**2. Your HITJMS site’s RSS feed (Auto-Blog only)**

 * _What it is used for:_ importing blog posts published on your HITJMS site into
   WordPress.
 * _What is sent and when:_ only when you enable Auto-Blogging and supply a feed
   URL. On the schedule you choose (or when you click “Import Now”) your server 
   requests that feed URL — a normal HTTP GET containing no personal data. If “Featured
   Images” is enabled, images referenced by the feed are downloaded to your Media
   Library.
 * _Service provider:_ HITJMS (the same account and policies as above).
 * _Terms of Service:_ https://hitjms.com/terms
 * _Privacy Policy:_ https://hitjms.com/privacy

**3. Google Tag Manager (googletagmanager.com) — optional**

 * _What it is used for:_ loading the tag container you configure, so you can manage
   marketing and analytics tags without editing your site.
 * _What is sent and when:_ nothing by default. Only when you enter a GTM container
   ID on the Tracking tab does the plugin load `https://www.googletagmanager.com/
   gtm.js` on your public pages. Visitors’ browsers then send Google the usual request
   data — IP address, user agent, referring URL and the page being viewed — plus
   whatever the tags inside your container are configured to collect. A `<noscript
   >` fallback to `https://www.googletagmanager.com/ns.html` is included for browsers
   without JavaScript. Removing the ID stops all of it.
 * _Service provider:_ Google.
 * _Terms of Service:_ https://marketingplatform.google.com/about/analytics/tag-
   manager/use-policy/
 * _Privacy Policy:_ https://policies.google.com/privacy

**4. Google Analytics 4 (googletagmanager.com) — optional**

 * _What it is used for:_ measuring page views and traffic sources for your site,
   and recording a `hitjms_lead_submitted` event when an intake form is submitted.
 * _What is sent and when:_ nothing by default. Only when you enter a GA4 measurement
   ID on the Tracking tab does the plugin load `https://www.googletagmanager.com/
   gtag/js` on your public pages. Visitors’ browsers then send Google page view 
   events including the page URL, referrer, IP address, user agent and the Google
   Analytics client identifier stored in a cookie. Removing the ID stops all of 
   it.
 * _Service provider:_ Google.
 * _Terms of Service:_ https://marketingplatform.google.com/about/analytics/terms/
   us/
 * _Privacy Policy:_ https://policies.google.com/privacy

**5. HITJMS chat widget (api.hitjms.com) — optional**

 * _What it is used for:_ displaying the HITJMS live chat widget on your site.
 * _What is sent and when:_ nothing by default. Only when you enter your HITJMS 
   site ID on the Chat Widget tab and either enable the widget site-wide or place
   the `[hitjms_chat_widget]` shortcode does the plugin load `https://api.hitjms.
   com/js/chatbot-widget.js` on your public pages. HITJMS then receives visitors’
   IP address, user agent and page URL, plus anything they type into the chat. Because
   that happens before the visitor types anything, the widget waits for consent 
   on sites running a consent plugin (see below). Clearing the site ID stops all
   of it.
 * _Service provider:_ HITJMS.
 * _Terms of Service:_ https://hitjms.com/terms
 * _Privacy Policy:_ https://hitjms.com/privacy

**Visitor consent:** every third-party service above is off unless you configure
it. When a consent plugin implementing the WP Consent API is active, the plugin 
waits for the visitor’s decision before loading anything third-party:

 * The HITJMS visitor pixel, Google Tag Manager and Google Analytics require the**
   statistics** category.
 * The chat widget requires the **marketing** category, where consent platforms 
   usually place third-party embeds. If your consent policy treats live chat as 
   a necessary service instead, change the category with the `hitjms_chat_consent_category`
   filter (for example to `functional`).

Sites with no consent plugin installed are unaffected — everything loads as configured.

Two filters let you switch these off per page, which is recommended for any page
that collects health information: `hitjms_allow_tracking` for the visitor pixel 
and Google tags, and `hitjms_allow_chat` for the chat widget.

## Screenshots

[⌊Settings → HITJMS — General tab with API key and Test Connection.⌉⌊Settings → 
HITJMS — General tab with API key and Test Connection.⌉[

Settings  HITJMS — General tab with API key and Test Connection.

[⌊The built-in intake form on the front end.⌉⌊The built-in intake form on the front
end.⌉[

The built-in intake form on the front end.

[⌊Tracking tab — HITJMS site ID, Google Tag Manager and GA4 fields.⌉⌊Tracking tab—
HITJMS site ID, Google Tag Manager and GA4 fields.⌉[

Tracking tab — HITJMS site ID, Google Tag Manager and GA4 fields.

[⌊Contact Sync tab — schedule, Sync Now, and last-sync status.⌉⌊Contact Sync tab—
schedule, Sync Now, and last-sync status.⌉[

Contact Sync tab — schedule, Sync Now, and last-sync status.

[⌊Auto-Blog tab — import AI-generated blog posts from your HITJMS site via RSS.⌉⌊
Auto-Blog tab — import AI-generated blog posts from your HITJMS site via RSS.⌉[

Auto-Blog tab — import AI-generated blog posts from your HITJMS site via RSS.

## Installation

 1. In WordPress admin, go to **Plugins  Add New**, search for “HITJMS”, and click **
    Install Now**, then **Activate**.
 2. Go to **Settings  HITJMS**.
 3. On the **General** tab, paste your HITJMS API key and click **Test Connection**(
    you should see “Connected. API key is valid.”). Your key lives in the [HITJMS Developer dashboard](https://admin.hitjms.com/developer).
 4. Configure the **Tracking**, **Intake Form**, **Chat Widget**, and **Contact Sync**
    tabs as needed. The IDs each tab asks for are in your HITJMS dashboard under **
    Tools**.
 5. Add the intake form to any page with the shortcode `[hitjms_intake_form]`.
 6. For pages outside WordPress, copy the ready-made HTML from the **Embed Codes** 
    tab.

Don’t have an account yet? [Compare plans](https://hitjms.com/pricing.html) or [get in touch](https://hitjms.com/contact.html).

## FAQ

### Do I need a HITJMS account?

Yes. The plugin is a connector to the HITJMS platform — see [what the platform does](https://hitjms.com/features.html).
Get your API key from the [HITJMS Developer dashboard](https://admin.hitjms.com/developer),
or [start with a plan](https://hitjms.com/pricing.html) if you are new.

### What data does the plugin send to HITJMS?

Intake form submissions are sent to the HITJMS API, and Contact Sync reads your 
contact records back from it. See the “External services” section above for specifics.

### Does the plugin track my visitors?

Only if you ask it to. The HITJMS visitor pixel, Google Tag Manager and Google Analytics
each load only when you enter the matching ID yourself on the Tracking tab. If you
run a consent plugin that supports the WP Consent API, all of them wait for the 
visitor’s consent.

### Where do I find my HITJMS site ID?

In your HITJMS dashboard: **Tools  Visitor Tracking** shows the tracking site ID(
it starts with `hjpx_`), and **Tools  Chat Widget** shows the chat site ID. Enter
the ID on its own — the plugin builds and loads the script for you, so there is 
no snippet to copy.

### Is the plugin HIPAA compliant?

The plugin follows HIPAA-aware practices (PHI is not logged or cached in the browser;
the contact list requires the `edit_posts` capability). HIPAA compliance is a shared
responsibility — using HITJMS for PHI requires a signed BAA with HITJMS, and you
remain responsible for your own site’s configuration and hosting. Do not enable 
third-party tracking on pages that collect health information. Details: [HITJMS and HIPAA](https://hitjms.com/hipaa.html).

### How do I add the chat widget?

Enter your HITJMS chat site ID on the Chat Widget tab, then either enable it site-
wide there or place `[hitjms_chat_widget]` inline on a specific page.

### Can I use the chat widget or intake form on a site that isn’t this one?

Yes. The **Embed Codes** tab writes out the plain HTML for the chat widget, the 
intake form and the visitor tracking pixel, filled in with the IDs you have already
saved. Copy a snippet and paste it into a landing page, an older site, an email 
platform or a page builder — anywhere this plugin does not run. Leads and conversations
from those pages land in the same HITJMS dashboard.

You do not need any of it on this WordPress site: the plugin already loads each 
of those for you. The same snippets are shown in your HITJMS dashboard under **Tools**.

### What else does the HITJMS platform do?

Beyond this plugin: [AI website builder](https://hitjms.com/website-builder.html),
[SEO and content](https://hitjms.com/seo.html), [paid search](https://hitjms.com/paid-search.html),
[call tracking](https://hitjms.com/call-tracking.html), [insurance verification](https://hitjms.com/insurance-verification.html),
[telehealth](https://hitjms.com/telehealth.html) and [EHR integrations](https://hitjms.com/integration-partners.html).

### Where do I get help?

Support and sales questions: [hitjms.com/contact](https://hitjms.com/contact.html).
Product walkthroughs are on the [HITJMS YouTube channel](https://www.youtube.com/@HITJMS),
and how-to articles are on the [HITJMS blog](https://hitjms.com/blog/).

### How do I show a live lead count?

Use `[hitjms_lead_count]` or `[hitjms_lead_count label="people helped"]`. The value
is cached for one hour.

### How does auto-blogging work?

On the **Auto-Blog** tab, enable auto-blogging and paste your HITJMS site’s RSS 
feed URL (usually your site address followed by `/feed.rss`). On the schedule you
choose, the plugin reads the feed and creates a WordPress post for each article 
it hasn’t imported before — preserving the original publish date, and optionally
the featured image. Choose whether posts arrive as drafts (to review first) or are
published immediately, and which author and category to assign. Use **Import Now**
to run it on demand. Because posts are matched by their feed GUID, running it repeatedly
never creates duplicates. If an article is later edited on your HITJMS site, the
matching WordPress post is refreshed on the next check (you can turn this off with
the “Keep in Sync” option; your local status, author, date and category are always
preserved). Video embeds in posts are kept intact.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

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

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

### Interested in development?

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

## Changelog

#### 1.7.0

 * New “Embed Codes” tab: ready-made HTML for the chat widget, the intake form and
   the visitor tracking pixel, for pages this plugin does not run on — a landing
   page, an older site, an email platform, a page builder that strips shortcodes.
   Each snippet is assembled from the site IDs you have already saved and shown 
   as escaped, read-only text with a Copy button. Nothing is stored, requested or
   executed by this tab, and no new settings are added.
 * Added the HITJMS platform walkthrough videos and links to the relevant hitjms.
   com documentation throughout this readme.

#### 1.6.0

 * The Tracking Script and Chat Embed Script textareas have been removed. The Tracking
   and Chat Widget tabs now take a single HITJMS site ID, validated on save; the
   plugin builds each script URL itself and loads it with `wp_enqueue_script()` 
   and `wp_add_inline_script()`. The plugin no longer stores or outputs any code
   entered by a user.
 * Upgrading: the site ID is read out of your previously saved snippet automatically,
   and the stored snippet is deleted. Check Settings  HITJMS  Tracking and  Chat
   Widget after updating; if a field is blank, copy the ID from your HITJMS dashboard
   under Tools.
 * The chat widget is now loaded through the WordPress script queue on both the 
   site-wide and shortcode paths, so caching and optimisation plugins can manage
   it.
 * Documented the HITJMS visitor pixel and chat widget as external services, with
   the data each receives.

#### 1.5.0

 * Google Tag Manager and Google Analytics 4 are now loaded through the WordPress
   script queue instead of being printed as raw script tags, so caching and optimisation
   plugins can manage them.
 * Google tags and the chat widget now honour the WP Consent API when a supported
   consent plugin is active — statistics for the Google tags, marketing for chat.
   New filters `hitjms_allow_tracking`, `hitjms_allow_chat` and `hitjms_chat_consent_category`
   control this per page. Sites without a consent plugin are unaffected.
 * Fixed: the intake form’s submit handler could not start on block themes, because
   the shortcode renders before scripts are registered and its configuration was
   silently discarded.
 * The `[hitjms_chat_widget]` shortcode now returns only an escaped container and
   prints the vendor embed in the footer.
 * Updates are delivered through WordPress.org; the previous built-in update check
   has been removed.
 * Text domain now matches the plugin slug.
 * Documented every external service the plugin can contact, with terms and privacy
   links.

#### 1.4.0

 * Added a built-in update check (removed again in 1.5.0, which updates through 
   WordPress.org).

#### 1.3.0

 * Form submissions now report which website they came from (`site_url`). If your
   HITJMS account runs several websites, leads from this site show up under its 
   domain in the leads Site filter.

#### 1.2.1

 * Saving the raw Tracking and Chat embed snippets now requires the `unfiltered_html`
   capability; users without it no longer overwrite a previously saved snippet.
 * Added an uninstall routine that removes the plugin’s options and drops the local
   contacts table (which may contain PHI) when the plugin is deleted. Multisite-
   aware.

#### 1.2.0

 * Auto-blogging now keeps posts in sync: when an article is edited on your HITJMS
   site, the matching WordPress post’s title, content and excerpt are refreshed 
   on the next check. Toggle it with the new “Keep in Sync” option; your local status,
   author, date and category are always preserved.
 * Video embeds (YouTube/Vimeo iframes) in imported posts are now preserved. Imported
   content is sanitized to allow embeds while still stripping unsafe markup such
   as scripts.

#### 1.1.0

 * New: Auto-blogging. Import AI-generated blog posts from your HITJMS site into
   WordPress by polling its RSS feed on WP-Cron (hourly / twice daily / daily) or
   on demand. Import as draft or published, assign author and category, optionally
   sideload featured images, with GUID-based de-duplication so posts are never imported
   twice.
 * New “Auto-Blog” settings tab with an “Import Now” button.

#### 1.0.1

 * Intake submissions now send a top-level `source` of “wordpress” so leads are 
   correctly attributed in the HITJMS platform (Lead Map / analytics) instead of
   the generic “api” source.

#### 1.0.0

 * Initial release: settings page (6 tabs), intake form (built-in + HITJMS-native),
   tracking injection (HITJMS pixel / GTM / GA4), chat widget, WP-Cron contact sync,
   and `[hitjms_*]` shortcodes.

## Meta

 *  Version **1.7.0**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [crm](https://wordpress.org/plugins/tags/crm/)[healthcare](https://wordpress.org/plugins/tags/healthcare/)
   [intake](https://wordpress.org/plugins/tags/intake/)[lead capture](https://wordpress.org/plugins/tags/lead-capture/)
 *  [Advanced View](https://wordpress.org/plugins/hitjms/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

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