=== 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.
