Version Description
- Released 2018-10-02
- Adding support for custom trackers
Download this release
Release Info
| Developer | ronalfy |
| Plugin | |
| Version | 2.2.4 |
| Comparing to | |
| See all releases | |
Code changes from version 2.2.2 to 2.2.4
- README.txt +8 -1
- gravity-forms-event-tracking.php +15 -1
- includes/GFGAET_Submission_Feeds.php +36 -18
- includes/GFGAET_UA.php +8 -0
README.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: ronalfy, bigwing, nmarks, kzeni
|
|
| 3 |
Tags: gravity forms, google analytics, google tag manager, matomo, piwik, event tracking
|
| 4 |
Requires at least:4.0
|
| 5 |
Tested up to: 4.9
|
| 6 |
-
Stable tag: 2.2.
|
| 7 |
Requires PHP: 5.6
|
| 8 |
Donate link: https://mediaron.com/give/
|
| 9 |
License: GPLv2 or later
|
|
@@ -116,6 +116,10 @@ Check out the documentation on [github](https://github.com/ronalfy/wordpress-gra
|
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
= 2.2.2 =
|
| 120 |
* Released 2018-08-27
|
| 121 |
* Adding support for gtag
|
|
@@ -251,6 +255,9 @@ Check out the documentation on [github](https://github.com/ronalfy/wordpress-gra
|
|
| 251 |
|
| 252 |
== Upgrade Notice ==
|
| 253 |
|
|
|
|
|
|
|
|
|
|
| 254 |
= 2.2.2 =
|
| 255 |
Adding support for gtag
|
| 256 |
|
| 3 |
Tags: gravity forms, google analytics, google tag manager, matomo, piwik, event tracking
|
| 4 |
Requires at least:4.0
|
| 5 |
Tested up to: 4.9
|
| 6 |
+
Stable tag: 2.2.4
|
| 7 |
Requires PHP: 5.6
|
| 8 |
Donate link: https://mediaron.com/give/
|
| 9 |
License: GPLv2 or later
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
| 119 |
+
= 2.2.4 =
|
| 120 |
+
* Released 2018-10-02
|
| 121 |
+
* Adding support for custom trackers
|
| 122 |
+
|
| 123 |
= 2.2.2 =
|
| 124 |
* Released 2018-08-27
|
| 125 |
* Adding support for gtag
|
| 255 |
|
| 256 |
== Upgrade Notice ==
|
| 257 |
|
| 258 |
+
= 2.2.4 =
|
| 259 |
+
Adding support for custom trackers
|
| 260 |
+
|
| 261 |
= 2.2.2 =
|
| 262 |
Adding support for gtag
|
| 263 |
|
gravity-forms-event-tracking.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: Gravity Forms Event Tracking
|
| 4 |
* Plugin URI: https://wordpress.org/plugins/gravity-forms-google-analytics-event-tracking/
|
| 5 |
* Description: Add event tracking to your Gravity Forms with ease using Google Analytics, Tag Manager, or Matomo (formerly Piwik).
|
| 6 |
-
* Version: 2.2.
|
| 7 |
* Author: Ronald Huereca
|
| 8 |
* Author URI: https://mediaron.com
|
| 9 |
* Text Domain: gravity-forms-google-analytics-event-tracking
|
|
@@ -146,6 +146,20 @@ class GFGAET {
|
|
| 146 |
}
|
| 147 |
return false;
|
| 148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 149 |
|
| 150 |
/**
|
| 151 |
* Checks whether Google Analytics mode is activated for sending events.
|
| 3 |
* Plugin Name: Gravity Forms Event Tracking
|
| 4 |
* Plugin URI: https://wordpress.org/plugins/gravity-forms-google-analytics-event-tracking/
|
| 5 |
* Description: Add event tracking to your Gravity Forms with ease using Google Analytics, Tag Manager, or Matomo (formerly Piwik).
|
| 6 |
+
* Version: 2.2.4
|
| 7 |
* Author: Ronald Huereca
|
| 8 |
* Author URI: https://mediaron.com
|
| 9 |
* Text Domain: gravity-forms-google-analytics-event-tracking
|
| 146 |
}
|
| 147 |
return false;
|
| 148 |
}
|
| 149 |
+
|
| 150 |
+
/**
|
| 151 |
+
* Get the Google Analytics Tracker
|
| 152 |
+
*
|
| 153 |
+
* @since 2.2.4
|
| 154 |
+
* @return string Returns a custom tracker or empty string if not set
|
| 155 |
+
*/
|
| 156 |
+
public static function get_ua_tracker() {
|
| 157 |
+
$gravity_forms_add_on_settings = get_option( 'gravityformsaddon_GFGAET_UA_settings', array() );
|
| 158 |
+
|
| 159 |
+
$tracker = isset( $gravity_forms_add_on_settings[ 'gravity_forms_event_tracking_ua_tracker' ] ) ? trim($gravity_forms_add_on_settings[ 'gravity_forms_event_tracking_ua_tracker' ]) : '';
|
| 160 |
+
|
| 161 |
+
return $tracker;
|
| 162 |
+
}
|
| 163 |
|
| 164 |
/**
|
| 165 |
* Checks whether Google Analytics mode is activated for sending events.
|
includes/GFGAET_Submission_Feeds.php
CHANGED
|
@@ -362,30 +362,46 @@ class GFGAET_Submission_Feeds extends GFFeedAddOn {
|
|
| 362 |
<?php if ( 0 !== $event_value && !empty( $event_value ) ) { echo sprintf( ",'value': '%s'", esc_js( $event_value ) ); } ?>
|
| 363 |
}
|
| 364 |
);
|
|
|
|
|
|
|
|
|
|
| 365 |
sessionStorage.setItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>', true );
|
| 366 |
} else {
|
| 367 |
// Check for GA from Monster Insights Plugin
|
| 368 |
if ( typeof window.parent.ga == 'undefined' ) {
|
|
|
|
| 369 |
if ( typeof window.parent.__gaTracker != 'undefined' ) {
|
|
|
|
|
|
|
|
|
|
| 370 |
window.parent.ga = window.parent.__gaTracker;
|
| 371 |
}
|
| 372 |
}
|
|
|
|
|
|
|
|
|
|
| 373 |
if ( typeof window.parent.ga != 'undefined' ) {
|
| 374 |
-
|
|
|
|
|
|
|
| 375 |
// Try to get original UA code from third-party plugins or tag manager
|
| 376 |
-
var default_ua_code = null;
|
| 377 |
-
window.parent.ga(function(tracker) {
|
| 378 |
-
default_ua_code = tracker.get('trackingId');
|
| 379 |
-
});
|
| 380 |
|
| 381 |
-
|
| 382 |
-
if (
|
| 383 |
-
|
| 384 |
-
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
}
|
|
|
|
|
|
|
|
|
|
| 389 |
|
| 390 |
sessionStorage.setItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>', true );
|
| 391 |
}
|
|
@@ -399,7 +415,7 @@ class GFGAET_Submission_Feeds extends GFFeedAddOn {
|
|
| 399 |
</script>
|
| 400 |
<?php
|
| 401 |
return;
|
| 402 |
-
}
|
| 403 |
?>
|
| 404 |
<script>
|
| 405 |
var form_submission = sessionStorage.getItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>');
|
|
@@ -418,13 +434,15 @@ class GFGAET_Submission_Feeds extends GFFeedAddOn {
|
|
| 418 |
</script>
|
| 419 |
<?php
|
| 420 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 421 |
}
|
| 422 |
|
| 423 |
-
|
| 424 |
-
foreach( $google_analytics_codes as $ua_code ) {
|
| 425 |
-
// Submit the event
|
| 426 |
-
$event->send( $ua_code );
|
| 427 |
-
}
|
| 428 |
}
|
| 429 |
|
| 430 |
/**
|
| 362 |
<?php if ( 0 !== $event_value && !empty( $event_value ) ) { echo sprintf( ",'value': '%s'", esc_js( $event_value ) ); } ?>
|
| 363 |
}
|
| 364 |
);
|
| 365 |
+
if ( typeof( console ) == 'object' ) {
|
| 366 |
+
console.log('gtag tried');
|
| 367 |
+
}
|
| 368 |
sessionStorage.setItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>', true );
|
| 369 |
} else {
|
| 370 |
// Check for GA from Monster Insights Plugin
|
| 371 |
if ( typeof window.parent.ga == 'undefined' ) {
|
| 372 |
+
console.log('ga not found');
|
| 373 |
if ( typeof window.parent.__gaTracker != 'undefined' ) {
|
| 374 |
+
if( typeof( console ) == 'object' ) {
|
| 375 |
+
console.log('monster insights found');
|
| 376 |
+
}
|
| 377 |
window.parent.ga = window.parent.__gaTracker;
|
| 378 |
}
|
| 379 |
}
|
| 380 |
+
if ( typeof( console ) == 'object' ) {
|
| 381 |
+
console.log('try window.parent.ga');
|
| 382 |
+
}
|
| 383 |
if ( typeof window.parent.ga != 'undefined' ) {
|
| 384 |
+
|
| 385 |
+
var ga_tracker = '';
|
| 386 |
+
var ga_send = 'send';
|
| 387 |
// Try to get original UA code from third-party plugins or tag manager
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
|
| 389 |
+
ga_tracker = '<?php echo esc_js( GFGAET::get_ua_tracker() ); ?>';
|
| 390 |
+
if ( typeof( console ) == 'object' ) {
|
| 391 |
+
console.log( 'tracker name' );
|
| 392 |
+
console.log( ga_tracker );
|
| 393 |
+
}
|
| 394 |
+
if( ga_tracker.length > 0 ) {
|
| 395 |
+
ga_send = ga_tracker + '.' + ga_send;
|
| 396 |
+
}
|
| 397 |
+
if ( typeof( console ) == 'object' ) {
|
| 398 |
+
console.log( 'send command' );
|
| 399 |
+
console.log( ga_send );
|
| 400 |
+
console.log( <?php echo $event_value; ?> );
|
| 401 |
}
|
| 402 |
+
|
| 403 |
+
// Use that tracker
|
| 404 |
+
window.parent.ga( ga_send, 'event', '<?php echo esc_js( $event_category ); ?>', '<?php echo esc_js( $event_action ); ?>', '<?php echo esc_js( $event_label ); ?>'<?php if ( 0 !== $event_value && !empty( $event_value ) ) { echo ',' . "'" . esc_js( $event_value ) . "'"; } ?>);
|
| 405 |
|
| 406 |
sessionStorage.setItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>', true );
|
| 407 |
}
|
| 415 |
</script>
|
| 416 |
<?php
|
| 417 |
return;
|
| 418 |
+
} elseif ( GFGAET::is_gtm_only() ) {
|
| 419 |
?>
|
| 420 |
<script>
|
| 421 |
var form_submission = sessionStorage.getItem('feed_<?php echo absint( $feed_id ); ?>_entry_<?php echo absint( $entry[ 'id' ] ); ?>');
|
| 434 |
</script>
|
| 435 |
<?php
|
| 436 |
return;
|
| 437 |
+
} else {
|
| 438 |
+
//Push out the event to each UA code
|
| 439 |
+
foreach( $google_analytics_codes as $ua_code ) {
|
| 440 |
+
// Submit the event
|
| 441 |
+
$event->send( $ua_code );
|
| 442 |
+
}
|
| 443 |
}
|
| 444 |
|
| 445 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
| 446 |
}
|
| 447 |
|
| 448 |
/**
|
includes/GFGAET_UA.php
CHANGED
|
@@ -62,6 +62,14 @@ class GFGAET_UA extends GFAddOn {
|
|
| 62 |
'type' => 'text',
|
| 63 |
'class' => 'small',
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
),
|
| 66 |
array(
|
| 67 |
'type' => 'radio',
|
| 62 |
'type' => 'text',
|
| 63 |
'class' => 'small',
|
| 64 |
|
| 65 |
+
),
|
| 66 |
+
array(
|
| 67 |
+
'name' => 'gravity_forms_event_tracking_ua_tracker',
|
| 68 |
+
'tooltip' => __( 'Enter your Tracker you would like to send events from if you are using a custom Tracker', 'gravity-forms-google-analytics-event-tracking' ),
|
| 69 |
+
'label' => __( 'UA Tracker Name', 'gravity-forms-google-analytics-event-tracking' ),
|
| 70 |
+
'type' => 'text',
|
| 71 |
+
'class' => 'small',
|
| 72 |
+
|
| 73 |
),
|
| 74 |
array(
|
| 75 |
'type' => 'radio',
|
