Gravity Forms Tripleseat Add-On
Integrates Gravity Forms with Tripleseat, sending form submissions to the Tripleseat Lead API. Supports per-form feeds, field mapping, and UTM/GCLID campaign tracking.
by Super Rad · github.com/gosuperrad/gravityformstripleseat · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/gosuperrad/gravityformstripleseat/releases/download/v1.2.0/gravityformstripleseat.zipReadme
Gravity Forms Tripleseat Add-On
Send Gravity Forms submissions straight to the Tripleseat Lead API — with per-form field mapping and built-in UTM / GCLID campaign tracking.
Built on the Gravity Forms Feed Add-On Framework, so it behaves like the feed add-ons you already know: configure the account once, then add a feed per form.
Features
- Account key stored once — your Tripleseat public key lives in the global add-on settings, not in every form.
- Per-form feeds — one or more feeds per form, each targeting a specific Tripleseat lead form by ID.
- Full field mapping — name, email, phone, company, event description, event date, start/end time, guest count, location ID, and additional information.
- First-class UTM / GCLID capture — persists
utm_source,utm_medium,utm_campaign,utm_term,utm_content, andgclidacross page views (first-party cookie, last-touch, 30 days) and feeds them into Tripleseat'scampaign_*/gclidlead fields. - Feed conditions & duplication plus full debug logging via Gravity Forms.
- Failure notifications — email a configurable recipient (defaulting to the site admin) whenever a submission can't reach Tripleseat: a rejected lead, a failed request, a non-2xx response, or missing configuration. Set it under Forms → Settings → Tripleseat → Failure Notifications.
- Optional future-only dates — add the
gf-future-dateCSS class to any Date field to block past dates (client + server side) using Gravity Forms' native datepicker filter. No CDN assets, no hardcoded field IDs.
Requirements
| WordPress | 6.0+ |
| PHP | 8.0+ |
| Gravity Forms | 2.4+ |
Installation
Via Composer (recommended)
This plugin is distributed through its GitHub repository rather than Packagist. Add the
VCS repository to your project's composer.json:
"repositories": [
{ "type": "vcs", "url": "https://github.com/gosuperrad/gravityformstripleseat" }
]
Then require it:
composer require superrad/gravityformstripleseat:^1.0
composer/installers places the plugin in the
correct directory automatically:
- Bedrock:
web/app/plugins/gravityformstripleseat/ - Standard WordPress:
wp-content/plugins/gravityformstripleseat/
To track the main development branch instead of stable releases, require dev-main
rather than ^1.0. The repository is public, so no authentication is required.
Manual
Download gravityformstripleseat.zip from the
latest release,
then upload it via Plugins → Add New → Upload Plugin, or extract it into
wp-content/plugins/.
Quick start
- Install and activate Gravity Forms (2.4+) and this add-on.
- Forms → Settings → Tripleseat → paste your Tripleseat public key (found next to the lead form embed code in Tripleseat under Settings → Lead Forms) → Update. This is account-wide; you only do it once.
- Edit a form → Settings → Tripleseat → Add New feed:
- Enter the Lead Form ID of the Tripleseat lead form that should receive submissions.
- Map your form fields to the Tripleseat lead fields.
- Submit a test entry and confirm the lead appears in Tripleseat.
For a full walkthrough — including the location selector and UTM / GCLID setup — see
docs/form-setup.md.
Capturing UTM / GCLID campaign data
The add-on automatically reads utm_source, utm_medium, utm_campaign, utm_term,
utm_content, and gclid from the page URL and stores them in a first-party cookie
(last-touch, 30 days), so the values survive even if the visitor browses several pages
before reaching the form.
To pass them to Tripleseat:
- Add six Hidden fields to your form.
- For each, enable Allow field to be populated dynamically and set the parameter
name to one of:
utm_source,utm_medium,utm_campaign,utm_term,utm_content,gclid. - In the form's Tripleseat feed, under Campaign / UTM Fields, map each hidden field to its matching Tripleseat campaign field.
On submission the campaign values appear on the Tripleseat Lead Details page and in reporting. Empty values are omitted from the request.
Development
composer install # install PHP dev tooling (PHPCS, WPCS, PHPUnit)
composer lint # run phpcs
composer lint:fix # run phpcbf
composer test # run phpunit
npm install # install JS dev tooling (ESLint)
npm run lint:js # lint assets/js
CI runs on every push and pull request
(.github/workflows/ci.yml): it validates composer.json,
syntax-checks PHP across an 8.0–8.3 matrix, lints assets/js with ESLint on Node 22, and
runs PHPCS / PHPUnit once their config is added.
Releasing
Releases are built automatically by
.github/workflows/release.yml. Push a version tag and
the workflow packages a clean plugin zip and attaches it to a GitHub Release:
git tag -a v1.1.0 -m "v1.1.0"
git push origin v1.1.0
Keep the version in sync across gravityformstripleseat.php (header + GF_TRIPLESEAT_VERSION),
readme.txt (Stable tag), and the git tag.
License
Read the full README on GitHub →