=== UTM Tracker for Gravity Forms === Contributors: auxanoglobalservices14 Tags: gravity forms, utm, utm tracking, campaigns, analytics Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html A lightweight UTM tracking enhancer for Gravity Forms. Stores UTM parameters for 90 days and auto-fills form fields automatically. == Description == UTM Tracker for Gravity Forms is a simple and reliable solution for capturing UTM parameters and passing them into Gravity Forms fields. The plugin stores UTM values in cookies for **90 days**, ensuring your marketing attribution remains intact — even if visitors browse multiple pages or return later. It automatically fills Gravity Forms hidden fields with values for: - **utm_source** - **utm_medium** - **utm_campaign** This works even in: - Cached pages - AJAX-loaded Gravity Forms - Multi-page forms No configuration needed beyond enabling “Allow field to be populated dynamically”. == Features == * Automatically captures UTM Source, Medium, and Campaign * Stores UTM values in cookies for 90 days * Auto-fills Gravity Forms hidden fields * Works with AJAX-enabled and multi-step forms * Works on fully cached WordPress sites * Lightweight and fast — no database usage * No external dependencies == Installation == 1. Upload the plugin ZIP file via **Plugins → Add New → Upload Plugin**. 2. Activate the plugin. 3. In Gravity Forms, add hidden fields with these dynamic population names: - `utm_source` - `utm_medium` - `utm_campaign` 4. Enable “**Allow field to be populated dynamically**” for each field. 5. That’s it — the plugin works automatically. == Frequently Asked Questions == = How does this plugin store UTM parameters? = UTM values are stored in browser cookies for 90 days. This ensures attribution works even if the visitor returns later or browses multiple pages. = Does this plugin support cached pages? = Yes. The plugin uses JavaScript-based detection, so it works with all caching systems including WP Rocket, LiteSpeed Cache, Cloudflare, and server-level caching. = Does this plugin support multi-step Gravity Forms? = Yes. The UTM values populate correctly across all pages of multi-step forms. = Do I need to add any shortcodes or custom code? = No. Once the plugin is activated, it works automatically. = What if the user arrives without UTM parameters? = Then the fields remain empty (no errors). = Does the plugin track additional UTMs? = Currently the plugin supports Source, Medium, and Campaign. Additional fields can be added upon request. == Screenshots == 1. **Gravity Forms hidden UTM fields** Shows how UTM Source, Medium, and Campaign fields appear in the Gravity Forms editor with dynamic population enabled. 2. **UTM cookies stored in browser** Demonstrates how UTM values (utm_source, utm_medium, utm_campaign) are stored in browser cookies using developer tools. == Upgrade Notice == = 1.0 = * First public release * WordPress.org-compliant code * Clean and secure handling of UTM parameters * 90-day cookie storage * Works with AJAX and cached pages == Changelog == = 1.0 = Initial release.