Changeset 3724364
- Timestamp:
- 10/02/2026 08:27:04 AM (3 weeks ago)
- Location:
- openpixly
- Files:
-
- 12 edited
- 1 copied
-
tags/1.5.1 (copied) (copied from openpixly/trunk )
-
tags/1.5.1/assets/css/admin.css (modified) (1 diff)
-
tags/1.5.1/includes/class-openpixel-event-log.php (modified) (1 diff)
-
tags/1.5.1/includes/class-openpixel-provider.php (modified) (1 diff)
-
tags/1.5.1/includes/providers/class-openpixel-provider-google.php (modified) (1 diff)
-
tags/1.5.1/openpixly.php (modified) (2 diffs)
-
tags/1.5.1/readme.txt (modified) (3 diffs)
-
trunk/assets/css/admin.css (modified) (1 diff)
-
trunk/includes/class-openpixel-event-log.php (modified) (1 diff)
-
trunk/includes/class-openpixel-provider.php (modified) (1 diff)
-
trunk/includes/providers/class-openpixel-provider-google.php (modified) (1 diff)
-
trunk/openpixly.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
openpixly/tags/1.5.1/assets/css/admin.css
r3724216 r3724364 7 7 } 8 8 9 .openpixel-events td { vertical-align: top; } 9 .openpixel-events { table-layout: fixed; } 10 .openpixel-events td { vertical-align: top; overflow-wrap: anywhere; } 10 11 .openpixel-events code { font-size: 12px; } 11 12 .openpixel-event-detail { margin: 0 0 4px; } 12 13 .openpixel-event-detail summary { cursor: pointer; } 13 .openpixel-event-detail pre { max- width: 520px; max-height: 260px; overflow: auto; background: #f6f7f7; padding: 8px; font-size: 11px; margin: 4px 0; }14 .openpixel-event-detail pre { max-height: 260px; overflow: auto; white-space: pre-wrap; word-break: break-all; background: #f6f7f7; padding: 8px; font-size: 11px; margin: 4px 0; } 14 15 .openpixel-event-detail .openpixel-error { color: #b32d2e; margin: 4px 0; } 15 .openpixel-events th:last-child, .openpixel-events td:last-child { width: 30%; } 16 .openpixel-events th:nth-child(3) { width: 18%; } 16 .openpixel-events th:last-child, .openpixel-events td:last-child { width: 33%; } 17 .openpixel-events th:nth-child(1) { width: 7%; } 18 .openpixel-events th:nth-child(2) { width: 13%; } 19 .openpixel-events th:nth-child(3) { width: 17%; } 20 .openpixel-events th:nth-child(4), .openpixel-events th:nth-child(6) { width: 8%; } 21 .openpixel-events td:nth-child(2) code { white-space: nowrap; } -
openpixly/tags/1.5.1/includes/class-openpixel-event-log.php
r3724232 r3724364 84 84 $payload = $provider->to_browser_payload( $event ); 85 85 if ( ! $payload ) { 86 $payloads[ $id ] = 'skipped';86 $payloads[ $id ] = $provider->skip_reason( $event ); 87 87 } elseif ( isset( $payload['provider'] ) ) { 88 88 $payloads[ $id ] = $payload['args']; -
openpixly/tags/1.5.1/includes/class-openpixel-provider.php
r3724232 r3724364 160 160 161 161 /** 162 * Why to_browser_payload() returned null for this event, for the Events 163 * tab. Override when the reason is not simply "unsupported". 164 */ 165 public function skip_reason( array $event ) { 166 return __( 'not sent (event not supported by this provider)', 'openpixly' ); 167 } 168 169 /** 162 170 * Handle a server-channel event (Conversions API). No-op by default. 163 171 * -
openpixly/tags/1.5.1/includes/providers/class-openpixel-provider-google.php
r3724232 r3724364 204 204 } 205 205 206 public function skip_reason( array $event ) { 207 if ( 'page_view' === $event['name'] ) { 208 return __( 'page_view is sent by gtag("config") itself', 'openpixly' ); 209 } 210 return parent::skip_reason( $event ); 211 } 212 206 213 public function to_browser_payload( array $event ) { 207 214 if ( 'page_view' === $event['name'] ) { -
openpixly/tags/1.5.1/openpixly.php
r3724232 r3724364 4 4 * Plugin URI: https://github.com/unbelievable-digital/openpixly 5 5 * Description: Conversion pixel manager for WordPress and WooCommerce. Ships the OpenAI (ChatGPT Ads) Measurement Pixel, the Meta Pixel and the Google tag (Ads + GA4): page views, product views, add to cart, checkout, purchases, registrations and lead forms, with Conversions APIs and product feeds. 6 * Version: 1.5. 06 * Version: 1.5.1 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 20 20 } 21 21 22 define( 'OPENPIXEL_VERSION', '1.5. 0' );22 define( 'OPENPIXEL_VERSION', '1.5.1' ); 23 23 define( 'OPENPIXEL_PLUGIN_FILE', __FILE__ ); 24 24 define( 'OPENPIXEL_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); -
openpixly/tags/1.5.1/readme.txt
r3724232 r3724364 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1.5. 07 Stable tag: 1.5.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 143 143 **Consent.** Measurement is opt-in for the site owner (disabled until configured) and administrators are excluded by default. To make it opt-in for visitors, choose "Require consent first" on each provider: the pixel then starts with consent revoked (`oaiq("consent", false)` / `fbq("consent", "revoke")`) and only measures after your cookie banner calls `window.openPixel.grantConsent()` or the WP Consent API reports the "marketing" category as allowed. Server-side Conversions API events are sent for paid orders whenever that option is enabled; leave it off if your legal basis requires browser consent for them too. Disclose the pixels you use in your site's privacy policy. 144 144 145 == Screenshots == 146 147 1. Pixels tab: OpenAI, Meta and Google providers with their own IDs, consent mode, hashed customer data and Conversions API settings. 148 2. Events tab: the debugger shows every tracked event, the exact payload each provider received and the Conversions API result. 149 3. Product feed tab: OpenAI product feed and Meta catalog feed with private URLs, schedule and status. 150 145 151 == Frequently Asked Questions == 146 152 … … 159 165 160 166 == Changelog == 167 168 = 1.5.1 = 169 * Events tab: the table no longer overflows on narrow screens; providers now explain why an event was not sent (e.g. page_view is sent by the Google tag's config). 170 * Screenshots on WordPress.org. 161 171 162 172 = 1.5.0 = -
openpixly/trunk/assets/css/admin.css
r3724216 r3724364 7 7 } 8 8 9 .openpixel-events td { vertical-align: top; } 9 .openpixel-events { table-layout: fixed; } 10 .openpixel-events td { vertical-align: top; overflow-wrap: anywhere; } 10 11 .openpixel-events code { font-size: 12px; } 11 12 .openpixel-event-detail { margin: 0 0 4px; } 12 13 .openpixel-event-detail summary { cursor: pointer; } 13 .openpixel-event-detail pre { max- width: 520px; max-height: 260px; overflow: auto; background: #f6f7f7; padding: 8px; font-size: 11px; margin: 4px 0; }14 .openpixel-event-detail pre { max-height: 260px; overflow: auto; white-space: pre-wrap; word-break: break-all; background: #f6f7f7; padding: 8px; font-size: 11px; margin: 4px 0; } 14 15 .openpixel-event-detail .openpixel-error { color: #b32d2e; margin: 4px 0; } 15 .openpixel-events th:last-child, .openpixel-events td:last-child { width: 30%; } 16 .openpixel-events th:nth-child(3) { width: 18%; } 16 .openpixel-events th:last-child, .openpixel-events td:last-child { width: 33%; } 17 .openpixel-events th:nth-child(1) { width: 7%; } 18 .openpixel-events th:nth-child(2) { width: 13%; } 19 .openpixel-events th:nth-child(3) { width: 17%; } 20 .openpixel-events th:nth-child(4), .openpixel-events th:nth-child(6) { width: 8%; } 21 .openpixel-events td:nth-child(2) code { white-space: nowrap; } -
openpixly/trunk/includes/class-openpixel-event-log.php
r3724232 r3724364 84 84 $payload = $provider->to_browser_payload( $event ); 85 85 if ( ! $payload ) { 86 $payloads[ $id ] = 'skipped';86 $payloads[ $id ] = $provider->skip_reason( $event ); 87 87 } elseif ( isset( $payload['provider'] ) ) { 88 88 $payloads[ $id ] = $payload['args']; -
openpixly/trunk/includes/class-openpixel-provider.php
r3724232 r3724364 160 160 161 161 /** 162 * Why to_browser_payload() returned null for this event, for the Events 163 * tab. Override when the reason is not simply "unsupported". 164 */ 165 public function skip_reason( array $event ) { 166 return __( 'not sent (event not supported by this provider)', 'openpixly' ); 167 } 168 169 /** 162 170 * Handle a server-channel event (Conversions API). No-op by default. 163 171 * -
openpixly/trunk/includes/providers/class-openpixel-provider-google.php
r3724232 r3724364 204 204 } 205 205 206 public function skip_reason( array $event ) { 207 if ( 'page_view' === $event['name'] ) { 208 return __( 'page_view is sent by gtag("config") itself', 'openpixly' ); 209 } 210 return parent::skip_reason( $event ); 211 } 212 206 213 public function to_browser_payload( array $event ) { 207 214 if ( 'page_view' === $event['name'] ) { -
openpixly/trunk/openpixly.php
r3724232 r3724364 4 4 * Plugin URI: https://github.com/unbelievable-digital/openpixly 5 5 * Description: Conversion pixel manager for WordPress and WooCommerce. Ships the OpenAI (ChatGPT Ads) Measurement Pixel, the Meta Pixel and the Google tag (Ads + GA4): page views, product views, add to cart, checkout, purchases, registrations and lead forms, with Conversions APIs and product feeds. 6 * Version: 1.5. 06 * Version: 1.5.1 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 20 20 } 21 21 22 define( 'OPENPIXEL_VERSION', '1.5. 0' );22 define( 'OPENPIXEL_VERSION', '1.5.1' ); 23 23 define( 'OPENPIXEL_PLUGIN_FILE', __FILE__ ); 24 24 define( 'OPENPIXEL_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); -
openpixly/trunk/readme.txt
r3724232 r3724364 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1.5. 07 Stable tag: 1.5.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 143 143 **Consent.** Measurement is opt-in for the site owner (disabled until configured) and administrators are excluded by default. To make it opt-in for visitors, choose "Require consent first" on each provider: the pixel then starts with consent revoked (`oaiq("consent", false)` / `fbq("consent", "revoke")`) and only measures after your cookie banner calls `window.openPixel.grantConsent()` or the WP Consent API reports the "marketing" category as allowed. Server-side Conversions API events are sent for paid orders whenever that option is enabled; leave it off if your legal basis requires browser consent for them too. Disclose the pixels you use in your site's privacy policy. 144 144 145 == Screenshots == 146 147 1. Pixels tab: OpenAI, Meta and Google providers with their own IDs, consent mode, hashed customer data and Conversions API settings. 148 2. Events tab: the debugger shows every tracked event, the exact payload each provider received and the Conversions API result. 149 3. Product feed tab: OpenAI product feed and Meta catalog feed with private URLs, schedule and status. 150 145 151 == Frequently Asked Questions == 146 152 … … 159 165 160 166 == Changelog == 167 168 = 1.5.1 = 169 * Events tab: the table no longer overflows on narrow screens; providers now explain why an event was not sent (e.g. page_view is sent by the Google tag's config). 170 * Screenshots on WordPress.org. 161 171 162 172 = 1.5.0 =
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)