Changeset 3361602
- Timestamp:
- 09/15/2025 08:23:13 AM (6 months ago)
- Location:
- metrion
- Files:
-
- 53 added
- 13 edited
-
tags/1.5.6 (added)
-
tags/1.5.6/assets (added)
-
tags/1.5.6/assets/icon-128x128.png (added)
-
tags/1.5.6/assets/icon-256x256.png (added)
-
tags/1.5.6/css (added)
-
tags/1.5.6/css/settings.css (added)
-
tags/1.5.6/includes (added)
-
tags/1.5.6/includes/api_endpoints.php (added)
-
tags/1.5.6/includes/event_capture.php (added)
-
tags/1.5.6/includes/initial.php (added)
-
tags/1.5.6/includes/js_bundler.php (added)
-
tags/1.5.6/js (added)
-
tags/1.5.6/js/bundles (added)
-
tags/1.5.6/js/cmp (added)
-
tags/1.5.6/js/cmp/cmplz (added)
-
tags/1.5.6/js/cmp/cmplz/logic.js (added)
-
tags/1.5.6/js/cmp/cookiebot (added)
-
tags/1.5.6/js/cmp/cookiebot/logic.js (added)
-
tags/1.5.6/js/cmp/cookiefirst (added)
-
tags/1.5.6/js/cmp/cookiefirst/logic.js (added)
-
tags/1.5.6/js/cmp/cookieyes (added)
-
tags/1.5.6/js/cmp/cookieyes/logic.js (added)
-
tags/1.5.6/js/cmp/moove_gdpr (added)
-
tags/1.5.6/js/cmp/moove_gdpr/logic.js (added)
-
tags/1.5.6/js/cmp/none (added)
-
tags/1.5.6/js/cmp/none/logic.js (added)
-
tags/1.5.6/js/cmp/onetrust (added)
-
tags/1.5.6/js/cmp/onetrust/logic.js (added)
-
tags/1.5.6/js/core (added)
-
tags/1.5.6/js/core/events.js (added)
-
tags/1.5.6/js/core/initialisation_sequence.js (added)
-
tags/1.5.6/js/detect (added)
-
tags/1.5.6/js/detect/detect.js (added)
-
tags/1.5.6/js/elementor (added)
-
tags/1.5.6/js/elementor/form_events.js (added)
-
tags/1.5.6/js/google_ads (added)
-
tags/1.5.6/js/google_ads/consent_mode.js (added)
-
tags/1.5.6/js/google_ads/events.js (added)
-
tags/1.5.6/js/meta (added)
-
tags/1.5.6/js/meta/events.js (added)
-
tags/1.5.6/js/microsoft_ads (added)
-
tags/1.5.6/js/microsoft_ads/consent_mode.js (added)
-
tags/1.5.6/js/microsoft_ads/events.js (added)
-
tags/1.5.6/js/settings (added)
-
tags/1.5.6/js/settings/settings.js (added)
-
tags/1.5.6/js/woo (added)
-
tags/1.5.6/js/woo/other_events.js (added)
-
tags/1.5.6/js/woo/purchase_event.js (added)
-
tags/1.5.6/main.php (added)
-
tags/1.5.6/readme.txt (added)
-
tags/1.5.6/uninstall.php (added)
-
tags/1.5.6/views (added)
-
tags/1.5.6/views/settings.php (added)
-
trunk/includes/initial.php (modified) (2 diffs)
-
trunk/js/cmp/cmplz/logic.js (modified) (2 diffs)
-
trunk/js/cmp/cookiebot/logic.js (modified) (4 diffs)
-
trunk/js/cmp/cookiefirst/logic.js (modified) (1 diff)
-
trunk/js/cmp/cookieyes/logic.js (modified) (1 diff)
-
trunk/js/cmp/moove_gdpr/logic.js (modified) (1 diff)
-
trunk/js/cmp/none/logic.js (modified) (1 diff)
-
trunk/js/cmp/onetrust/logic.js (modified) (1 diff)
-
trunk/js/core/events.js (modified) (6 diffs)
-
trunk/js/detect/detect.js (modified) (1 diff)
-
trunk/main.php (modified) (4 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/views/settings.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
metrion/trunk/includes/initial.php
r3342931 r3361602 103 103 'google_analytics_enable_tracking' => get_option('metrion_google_analytics_enable_tracking', 0), 104 104 'google_analytics_measurement_id' => get_option('metrion_google_analytics_measurement_id', ''), 105 'google_analytcs_api_key' => get_option('metrion_google_analyt cs_api_key', '')105 'google_analytcs_api_key' => get_option('metrion_google_analytics_api_key', '') 106 106 ]; 107 107 } … … 635 635 'google_analytics_enable_tracking' => get_option('metrion_google_analytics_enable_tracking', 0), 636 636 'google_analytics_measurement_id' => get_option('metrion_google_analytics_measurement_id', ''), 637 'google_analytcs_api_key' => get_option('metrion_google_analyt cs_api_key', '')637 'google_analytcs_api_key' => get_option('metrion_google_analytics_api_key', '') 638 638 ]); 639 639 } -
metrion/trunk/js/cmp/cmplz/logic.js
r3342931 r3361602 30 30 window.metrion.configuration.cookie_expiration_milliseconds, 31 31 "/", 32 window.metrion. configuration.cookie_domain32 window.metrion.helpers.get_cookie_domain(window.location.hostname) 33 33 ); 34 34 … … 75 75 window.metrion.configuration.cookie_expiration_milliseconds, 76 76 "/", 77 window.metrion. configuration.cookie_domain77 window.metrion.helpers.get_cookie_domain(window.location.hostname) 78 78 ); 79 79 -
metrion/trunk/js/cmp/cookiebot/logic.js
r3306539 r3361602 71 71 window.metrion.configuration.cookie_expiration_milliseconds, 72 72 "/", 73 window.metrion. configuration.cookie_domain73 window.metrion.helpers.get_cookie_domain(window.location.hostname) 74 74 ); 75 75 } … … 116 116 window.metrion.configuration.cookie_expiration_milliseconds, 117 117 "/", 118 window.metrion. configuration.cookie_domain118 window.metrion.helpers.get_cookie_domain(window.location.hostname) 119 119 ); 120 120 … … 156 156 window.metrion.configuration.cookie_expiration_milliseconds, 157 157 "/", 158 window.metrion. configuration.cookie_domain158 window.metrion.helpers.get_cookie_domain(window.location.hostname) 159 159 ); 160 160 … … 253 253 window.metrion.configuration.cookie_expiration_milliseconds, 254 254 "/", 255 window.metrion. configuration.cookie_domain255 window.metrion.helpers.get_cookie_domain(window.location.hostname) 256 256 ); 257 257 -
metrion/trunk/js/cmp/cookiefirst/logic.js
r3300778 r3361602 29 29 window.metrion.configuration.cookie_expiration_milliseconds, 30 30 "/", 31 window.metrion. configuration.cookie_domain31 window.metrion.helpers.get_cookie_domain(window.location.hostname) 32 32 ); 33 33 window.metrion.configuration.floodgate_open = true; -
metrion/trunk/js/cmp/cookieyes/logic.js
r3300778 r3361602 34 34 window.metrion.configuration.cookie_expiration_milliseconds, 35 35 "/", 36 window.metrion. configuration.cookie_domain36 window.metrion.helpers.get_cookie_domain(window.location.hostname) 37 37 ); 38 38 -
metrion/trunk/js/cmp/moove_gdpr/logic.js
r3300778 r3361602 27 27 window.metrion.configuration.cookie_expiration_milliseconds, 28 28 "/", 29 window.metrion. configuration.cookie_domain29 window.metrion.helpers.get_cookie_domain(window.location.hostname) 30 30 ); 31 31 window.metrion.configuration.floodgate_open = true; -
metrion/trunk/js/cmp/none/logic.js
r3306539 r3361602 15 15 window.metrion.configuration.cookie_expiration_milliseconds, 16 16 "/", 17 window.metrion. configuration.cookie_domain17 window.metrion.helpers.get_cookie_domain(window.location.hostname) 18 18 ); 19 19 window.metrion.configuration.floodgate_open = true; -
metrion/trunk/js/cmp/onetrust/logic.js
r3300778 r3361602 36 36 window.metrion.configuration.cookie_expiration_milliseconds, 37 37 "/", 38 window.metrion. configuration.cookie_domain38 window.metrion.helpers.get_cookie_domain(window.location.hostname) 39 39 ); 40 40 window.metrion.configuration.floodgate_open = true; -
metrion/trunk/js/core/events.js
r3342931 r3361602 114 114 // Set the session cookie with the session start time 115 115 //{session id}--{session expiration}--{session start time} 116 window.metrion.helpers.set_cookie(configuration.session_cookie_name, session_cookie_new_value, configuration.session_cookie_lifetime_milliseconds, "/", configuration.cookie_domain);116 window.metrion.helpers.set_cookie(configuration.session_cookie_name, session_cookie_new_value, configuration.session_cookie_lifetime_milliseconds, "/", window.metrion.helpers.get_cookie_domain(window.location.hostname)); 117 117 // Update the user cookie with the session number variable 118 118 //{user id}--{session number} 119 119 var user_cookie_new_value = user_cookie_values[0] + "--" + session_number; 120 window.metrion.helpers.set_cookie(configuration.user_cookie_name, user_cookie_new_value, configuration.user_cookie_lifetime_milliseconds, "/", configuration.cookie_domain);120 window.metrion.helpers.set_cookie(configuration.user_cookie_name, user_cookie_new_value, configuration.user_cookie_lifetime_milliseconds, "/", window.metrion.helpers.get_cookie_domain(window.location.hostname)); 121 121 return session_id; 122 122 }, … … 136 136 var new_session_expiration = new Date().getTime() + configuration.session_cookie_lifetime_milliseconds; 137 137 var updated_session_cookie_value = session_cookie_values[0] + window.metrion.configuration.cookie_value_separator + new_session_expiration + window.metrion.configuration.cookie_value_separator + session_cookie_values[2]; 138 window.metrion.helpers.set_cookie(configuration.session_cookie_name, updated_session_cookie_value, configuration.session_cookie_lifetime_milliseconds, "/", configuration.cookie_domain);138 window.metrion.helpers.set_cookie(configuration.session_cookie_name, updated_session_cookie_value, configuration.session_cookie_lifetime_milliseconds, "/", window.metrion.helpers.get_cookie_domain(window.location.hostname)); 139 139 140 140 return session_cookie_values[0]; … … 185 185 d.setTime(d.getTime() + cookie_lifetime_in_milliseconds); 186 186 document.cookie = cookie_name + "=" + cookie_value + ";expires=" + d.toUTCString() + ";path=" + cookie_path + ";domain=" + cookie_domain + cookie_secure + ";SameSite=" + cookie_samesite; 187 }, 188 get_cookie_domain: function (hostname) { 189 var publicSuffixes = ['co.uk', 'com.au', 'org.uk']; 190 191 var parts = hostname.split('.'); 192 193 for (let i = 0; i < publicSuffixes.length; i++) { 194 var suffix = publicSuffixes[i]; 195 if (hostname.endsWith(suffix)) { 196 var suffixParts = suffix.split('.').length; 197 return '.' + parts.slice(-suffixParts - 1).join('.'); 198 } 199 } 200 201 return '.' + parts.slice(-2).join('.'); 187 202 }, 188 203 get_url_parameter_value: function (url_parameter_name) { … … 379 394 window.metrion.configuration.cookie_expiration_milliseconds, 380 395 "/", 381 window.metrion. configuration.cookie_domain396 window.metrion.helpers.get_cookie_domain(window.location.hostname) 382 397 ); 383 398 } … … 442 457 window.metrion.configuration.cookie_expiration_milliseconds, 443 458 "/", 444 window.metrion. configuration.cookie_domain459 window.metrion.helpers.get_cookie_domain(window.location.hostname) 445 460 ); 446 461 } … … 757 772 window.metrion.configuration.cookie_expiration_milliseconds, 758 773 "/", 759 window.metrion. configuration.cookie_domain774 window.metrion.helpers.get_cookie_domain(window.location.hostname) 760 775 ); 761 776 } else { -
metrion/trunk/js/detect/detect.js
r3342931 r3361602 132 132 window.metrion.configuration.cookie_expiration_milliseconds, 133 133 "/", 134 window.metrion. configuration.cookie_domain134 window.metrion.helpers.get_cookie_domain(window.location.hostname) 135 135 ); 136 136 -
metrion/trunk/main.php
r3342931 r3361602 3 3 * Plugin Name: Metrion 4 4 * Description: Skip manual implementation, sync data directly tailored to destinations like Google Ads and Meta Ads. 5 * Version: 1.5. 55 * Version: 1.5.6 6 6 * Author: Metrion 7 7 * Author URI: https://getmetrion.com … … 12 12 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly 13 13 14 define('GLOBAL_METRION_PLUGIN_VERSION', '1.5. 5');14 define('GLOBAL_METRION_PLUGIN_VERSION', '1.5.6'); 15 15 16 16 // Register plugin settings for webhook URL, API path, debug mode, cookie name, and expiration time … … 77 77 // Google Ads destination options 78 78 add_option('metrion_google_analytics_enable_tracking', 0); // Default setting for enabling Google Analytics 79 add_option('metrion_google_analytics_measureme t_id', ''); // Open field for the measurement ID80 add_option('metrion_google_analyt cs_api_key', ''); // Open field for the API key79 add_option('metrion_google_analytics_measurement_id', ''); // Open field for the measurement ID 80 add_option('metrion_google_analytics_api_key', ''); // Open field for the API key 81 81 82 82 // Register the Metrion settings … … 146 146 // Register the Google Analytics destination settings 147 147 register_setting('metrion_options_group', 'metrion_google_analytics_enable_tracking', ['sanitize_callback' => 'rest_sanitize_boolean']); 148 register_setting('metrion_options_group', 'metrion_google_analytics_measureme t_id', ['sanitize_callback' => 'sanitize_text_field']);149 register_setting('metrion_options_group', 'metrion_google_analyt cs_api_key', ['sanitize_callback' => 'sanitize_text_field']);148 register_setting('metrion_options_group', 'metrion_google_analytics_measurement_id', ['sanitize_callback' => 'sanitize_text_field']); 149 register_setting('metrion_options_group', 'metrion_google_analytics_api_key', ['sanitize_callback' => 'sanitize_text_field']); 150 150 } 151 151 -
metrion/trunk/readme.txt
r3342931 r3361602 4 4 Requires at least: 3.8 5 5 Tested up to: 6.8 6 Stable tag: 1.5. 56 Stable tag: 1.5.6 7 7 Requires PHP: 7.1 8 8 License: GPLv3 or later … … 88 88 == Changelog == 89 89 90 = 1.5.6 = 91 - Fixed a case where cookies were set incorrectly on ccTLDs 92 90 93 = 1.5.5 = 91 94 - Google Analytics beta 92 95 - Improve advertising click-id retention 96 - Generate bundles after plugin update and on schedule 93 97 - Labeled non-interaction events for GA4 94 98 -
metrion/trunk/views/settings.php
r3342931 r3361602 484 484 </tr> 485 485 <tr valign="top"> 486 <th scope="row"><label for="metrion_google_analyt cs_api_key">Google Analytics API key</label></th>487 <td> 488 <input type="text" id="metrion_google_analyt cs_api_key" name="metrion_google_analytcs_api_key"489 value="<?php echo esc_attr(get_option('metrion_google_analyt cs_api_key', '')); ?>" />486 <th scope="row"><label for="metrion_google_analytics_api_key">Google Analytics API key</label></th> 487 <td> 488 <input type="text" id="metrion_google_analytics_api_key" name="metrion_google_analytics_api_key" 489 value="<?php echo esc_attr(get_option('metrion_google_analytics_api_key', '')); ?>" /> 490 490 </td> 491 491 </tr>
Note: See TracChangeset
for help on using the changeset viewer.