---
title: Gravity Forms + Kit CRM Event Registration Pattern
type: article
created: '2026-04-05'
updated: '2026-04-05'
source_docs:
- raw/2026-01-09-vcedc-post-mortem-113071535.md
tags:
- wordpress
- gravity-forms
- kit-crm
- event-registration
- integration
layer: 2
client_source: null
industry_context: null
transferable: true
---

# Gravity Forms + Kit CRM Event Registration Pattern

## Overview

When a WordPress site uses Kit (formerly ConvertKit) as its CRM and needs event registration with CRM integration, the standard event plugin ticket add-on is not the right tool. Instead, use a dedicated Gravity Form per event, embedded via shortcode, with a unique Kit tag per event to track registrations.

This pattern was developed during the [[clients/vcedc/index|VCEDC]] project when the existing event plugin's ticket add-on was found to lack Kit CRM integration capability.

---

## The Problem

WordPress event plugins (e.g., The Events Calendar) offer free ticket add-ons for basic registration. However, these ticket add-ons **do not integrate with Kit CRM**. If the client needs registrants to flow into Kit for follow-up emails or segmentation, the ticket add-on cannot fulfill that requirement.

Using a generic "subscribe to emails" form is also insufficient — it conflates general newsletter sign-ups with event-specific registrations, making it impossible to track who registered for which event.

---

## The Solution

Create a **unique Gravity Form for each event**, integrated with Kit CRM via a per-event tag. Embed the form on the event page using a shortcode placed in a designated content block (e.g., a white box section in the event template).

### Why Gravity Forms

- Gravity Forms has native Kit CRM integration.
- The event plugin ticket add-on does not.
- Gravity Forms shortcodes can be embedded anywhere in WordPress content, including inside event post templates.

---

## Implementation Steps

### 1. Create the Gravity Form

- Duplicate an existing base registration form (e.g., the general email subscribe form) as a starting point.
- Rename it clearly: e.g., `Event Registration – Business Taxes and Loans 2026`.
- Update the form title/heading to say **"Register Today"** (not "Subscribe to Emails" or a generic label).
- Ensure the form fields capture the necessary registrant information.

### 2. Create a Unique Kit Tag

- In Kit CRM, create a new tag scoped to the specific event.
- Follow the existing naming convention used by the client, e.g.: `Event 2026 – Business Taxes and Loans`.
- Connect this tag to the Gravity Form's Kit integration so that each submission applies the tag to the subscriber.

> **Note:** Each event requires its own unique tag. A single shared tag cannot distinguish registrations across multiple events.

### 3. Embed via Shortcode

- Copy the Gravity Form shortcode (e.g., `[gravityforms id="X"]`).
- On the event post, paste the shortcode into the designated white box / registration content block.
- This step must be performed **manually for each new event post** — the form does not auto-populate from the event template.

### 4. Keep the Subscribe Form Separate

The general "Subscribe to upcoming events" form (for newsletter/announcement opt-ins) should remain on the event page **below** the registration form. These serve different purposes:

| Form | Purpose | Kit Tag |
|---|---|---|
| Event Registration Form | Register for this specific event | Unique per-event tag |
| Subscribe to Emails Form | Opt in to general event announcements | General subscription tag |

---

## Client Workflow (Ongoing)

Because the form embedding is not dynamic, the client (e.g., Tracy at VCEDC) must follow this process for each new event:

1. Create a new event post in WordPress.
2. In Kit, create a new tag for the event.
3. In Gravity Forms, duplicate the base registration form and connect it to the new Kit tag.
4. Copy the new form's shortcode.
5. Paste the shortcode into the white box on the new event post.

> **Recommendation:** Document this workflow in a client-facing SOP and walk the client through it during handoff. See [[knowledge/process/client-handoff-checklist|Client Handoff Checklist]].

---

## Limitations & Considerations

- **Not dynamic:** The form shortcode must be manually added to each event post. There is no automatic injection from the event template.
- **Form management overhead:** Each event creates a new Gravity Form and a new Kit tag. Over time, clients need to maintain naming conventions to keep these organized.
- **Free plugin ceiling:** This pattern exists specifically because the free event plugin tier lacks CRM integration. If the client upgrades to a paid event plugin with native Kit support in the future, this pattern may be replaceable.
- **Two-form UX:** Having both a registration form and a subscribe form on the same page is intentional but should be visually distinct and clearly labeled to avoid confusion.

---

## Related

- [[clients/vcedc/index|VCEDC Client]]
- [[meetings/2026-04-05-vcedc-post-mortem|VCEDC Project Post-Mortem]]
- [[knowledge/process/development-checklist|Standard Development Checklist]]
- [[knowledge/process/asset-collection|Upfront Asset Collection Process]]