This commit is contained in:
2026-04-26 23:47:49 +02:00
parent 1b95f03d1e
commit b073e009d8
5288 changed files with 1112699 additions and 55536 deletions

View File

@@ -79,6 +79,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<div class="row">
<div class="col">
<p><a href="https://www.youtube.com/watch?v=uXTpgFu2V-E" target="_blank">The biggest problem with consent messages (7:02 min) - watch now</a></p>
<p><a href="https://www.youtube.com/watch?v=L_YYjrmxykU" target="_blank">Improve tracking under GDPR consent with this smart option (5:31 min) - watch now</a></p>
<p><a href="https://www.youtube.com/watch?v=ZOlNbIPS_Uc" target="_blank">Target your visitors with the right consent rule (12:29 min) - watch now</a></p>
<p><a href="https://www.youtube.com/watch?v=P8CLxslSPDk" target="_blank">The right to change your mind (2:46 min) - watch now</a></p>
<p><a href="https://www.youtube.com/watch?v=PsKdCkKNeLU" target="_blank">Facebook Conversion API and the Consent Problem (9:25 min) - watch now</a></p>
@@ -162,6 +163,15 @@ if ( ! defined( 'ABSPATH' ) ) {
'Enter consent category', ! isCookiebotPluginActivated() ); ?>
</div>
</div>
<div class="row mt-3">
<div class="col-4">
<label class="label-inline">Tiktok consent category:</label>
</div>
<div class="col-4">
<?php PYS()->render_text_input( 'gdpr_cookiebot_tiktok_consent_category',
'Enter consent category', ! isCookiebotPluginActivated() ); ?>
</div>
</div>
</div>
</div>
@@ -293,6 +303,37 @@ if ( ! defined( 'ABSPATH' ) ) {
</div>
</div>
</div>
<hr>
<div class="card-body">
<div class="row">
<div class="col">
<h2>Use following filters to control each cookie:</h2>
</div>
</div>
<div class="row">
<div class="col">
<p>
<p><code>pys_disable_all_cookie</code> - disable all PYS cookies</p>
<p><code>pys_disable_first_visit_cookie</code> - disable pys_first_visit cookie</p>
<p><code>pys_disable_landing_page_cookie</code> - disable pys_landing_page & last_pys_landing_page cookies</p>
<p><code>pys_disable_trafficsource_cookie</code> - disable pysTrafficSource & last_pysTrafficSource cookies</p>
<p><code>pys_disable_utmTerms_cookie</code> - disable ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content' ,'utm_term'] with prefix <code>pys_</code> and <code>last_pys_</code> cookies</p>
<p><code>pys_disable_utmId_cookie</code> - disable ['fbadid', 'gadid', 'padid', 'bingid'] with prefix <code>pys_</code> and <code>last_pys_</code> cookies</p>
<p><code>pys_disable_advanced_form_data_cookie</code> - disable pys_advanced_form_data cookies</p>
<p><code>pys_disable_externalID_by_gdpr</code> - disable pbid(external_id) cookie</p>
</p>
<p class="mb-0">
To disable cookies, use filters where necessary.<br>
First filter will disable all cookies, other can be used to disable particular cookie.
Simply pass <code>__return_true</code> value to disable a cookie.
</p>
<p class="mb-0">
Example:<br>
<code>add_filter( 'pys_disable_advanced_form_data_cookie', '__return_true', 10, 2 );</code>
</p>
</div>
</div>
</div>
</div>
<hr>
@@ -300,4 +341,4 @@ if ( ! defined( 'ABSPATH' ) ) {
<div class="col-4">
<button class="btn btn-block btn-save">Save Settings</button>
</div>
</div>
</div>

View File

@@ -6,21 +6,18 @@ if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if(isset($_GET['clear_logs'])) {
PYS()->getLog()->remove();
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
wp_redirect(remove_query_arg( 'clear_logs',$actual_link ));
exit;
}
?>
<div class="card card-static">
<div class="card-header ">
<?php PYS()->render_switcher_input('pys_logs_enable');?> Plugin Logs
<?php PYS()->render_switcher_input('pys_logs_enable');?> Meta API Logs
<div style="float: right;margin-top: 10px;">
<a style="margin-right: 30px" href="<?php echo esc_url( buildAdminUrl( 'pixelyoursite', 'logs' ) ); ?>&clear_logs=true">Clear Logs</a>
<a href="<?= PYS_Logger::get_log_file_url() ?>" target="_blank" download>Download Logs</a>
<a style="margin-right: 30px"
href="<?php echo esc_url( buildAdminUrl( 'pixelyoursite', 'logs' ) ); ?>&clear_plugin_logs=true">Clear
Meta API Logs</a>
<a href="<?= PYS_Logger::get_log_file_url() ?>" target="_blank" download>Download Meta API Logs</a>
</div>
</div>
<div class="card-body">
@@ -30,6 +27,26 @@ if(isset($_GET['clear_logs'])) {
</div>
</div>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="card card-static">
<div class="card-header ">
<?php Pinterest()->render_switcher_input( 'logs_enable' ); ?> Pinterest API Logs
<div style="float: right;margin-top: 10px;">
<a style="margin-right: 30px"
href="<?php echo esc_url( buildAdminUrl( 'pixelyoursite', 'logs' ) ); ?>&clear_pinterest_logs=true">Clear
Pinterest API Logs</a>
<a href="<?= Pinterest_logger::get_log_file_url() ?>" target="_blank" download>Download Pinterest API
Logs</a>
</div>
</div>
<div class="card-body">
<textarea style="white-space: nowrap;width: 100%;height: 500px;"><?php
echo Pinterest()->getLog()->getLogs();
?></textarea>
</div>
</div>
<?php endif; ?>
<div class="row justify-content-center">
<div class="col-4">
<button class="btn btn-block btn-sm btn-save">Save Settings</button>

View File

@@ -26,7 +26,16 @@ if ( ! defined( 'ABSPATH' ) ) {
</div>
</div>
<p class="small">
The plugin will send a purchase event using Facebook and Google Analytics API when auto-renewals take place. This feature is not yet supported for GA4 properties.
The plugin will send a Purchase event to Meta and Google using API when auto-renewals take place or when a new order is placed by an admin on the backend. Meta Conversion API token and GA4 Measurement Protocol secret are required.
</p>
<div class="row">
<div class="col">
<?php renderDummySwitcher(false); ?>
<h4 class="switcher-label">Track refunds on Goolge Analytics</h4><?php renderProBadge(); ?>
</div>
</div>
<p class="small">
A "Refund" event will be sent to Google via the API when the order status changes to "Refund". GA4 measurement protocol secret required.
</p>
</div>
</div>
@@ -37,8 +46,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<div class="card-body">
<div class="row">
<div class="col">
<p>Fire e-commerce related events. On Facebook, the events will be Dynamic Ads Ready. Enhanced Ecommerce
will be enabled for Google Analytics.</p>
<p>Fire e-commerce related events. Meta events are Dynamic Ads Ready. Monetization data is sent to Google Analytics.</p>
</div>
</div>
@@ -121,7 +129,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<h2 class="section-title">ID Settings</h2>
<?php if ( Facebook()->enabled() ) : ?>
<!-- Facebook ID -->
<div class="card">
<div class="card-header">
@@ -151,7 +159,7 @@ if ( ! defined( 'ABSPATH' ) ) {
</div>
</div>
</div>
<?php endif; ?>
<?php if ( GA()->enabled() ) : ?>
@@ -353,6 +361,11 @@ e&utm_campaign=pro-feature' ); ?>
<?php renderDummyCheckbox( "Don't fire the event for 0 value transactions", true ); ?>
</div>
</div>
<div class="row mb-3">
<div class="col-12">
<?php renderDummyCheckbox( "Don't fire the event when the number of items is 0", true ); ?>
</div>
</div>
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -361,7 +374,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -411,7 +424,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -454,7 +467,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('edd_initiate_checkout_enabled');?>Track the Checkout Page <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -463,7 +476,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -515,7 +528,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -549,7 +562,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('edd_add_to_cart_enabled');?>Track add to cart <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -558,7 +571,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -610,7 +623,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -644,7 +657,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('edd_view_content_enabled');?>Track product pages <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -653,7 +666,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -712,7 +725,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -746,7 +759,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('edd_view_category_enabled');?>Track product category pages <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -755,7 +768,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -779,7 +792,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php renderDummyGoogleAdsConversionLabelInputs(); ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -851,7 +864,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has at least </label>
@@ -908,7 +921,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has at least</label>
@@ -966,7 +979,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has LTV at least</label>
@@ -1049,7 +1062,7 @@ e&utm_campaign=pro-feature' ); ?>
<p>All events get the following parameters for all the tags: <i>page_title, post_type, post_id, event_URL, user_role, plugin, landing_page (pro), event_time (pro), event_day (pro), event_month (pro), traffic_source (pro), UTMs (pro).</i></p>
<p>The Purchase event will have the following extra-parameters: <i>category_name, num_items, tags, total (pro), transactions_count (pro), tax (pro), predicted_ltv (pro), average_order (pro), coupon_used (pro), coupon_code (pro), shipping (pro), shipping_cost (pro).</i></p>
<p>The Meta Pixel (formerly Facebook Pixel) events are Dynamic Ads ready.</p>
<p>The Google Analytics events track the data Enhanced Ecommerce or Monetization (GA4).</p>
<p>The Google Analytics events track Monetization data (GA4).</p>
<p>The Pinterest events have the required data for Dynamic Remarketing.</p>
</div>
</div>
@@ -1154,4 +1167,4 @@ e&utm_campaign=pro-feature' ); ?>
<div class="col-4">
<button class="btn btn-block btn-save">Save Settings</button>
</div>
</div>
</div>

View File

@@ -22,7 +22,7 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
<div class="row">
<div class="col">
<div class="d-flex justify-content-between">
<span class="mt-2">With the pro version, you can fire events on clicks, mouse over and page
<span class="mt-2">With the pro version, you can fire events on clicks, mouse over elements, post type visits, or page
scroll:</span>
<a target="_blank" class="btn btn-sm btn-primary float-right" href="https://www.pixelyoursite.com/facebook-pixel-plugin/buy-pixelyoursite-pro?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-upgrade-blue">UPGRADE</a>
</div>
@@ -323,7 +323,7 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
<div id="facebook_params_panel">
<div class="row mt-3">
<div class="col col-offset-left">
<div class="row mb-3 ViewContent Search AddToCart AddToWishlist InitiateCheckout AddPaymentInfo Purchase Lead CompleteRegistration Subscribe StartTrial">
<label class="col-5 control-label">value</label>
<div class="col-4">
@@ -393,7 +393,7 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
<?php Events\renderFacebookParamInput( $event, 'predicted_ltv' ); ?>
</div>
</div>
<!-- Custom Facebook Params -->
<div class="row mt-3 facebook-custom-param" data-param_id="0" style="display: none;">
<div class="col-1"></div>
@@ -410,11 +410,11 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
</button>
</div>
</div>
<?php foreach ( $event->getFacebookCustomParams() as $key => $custom_param ) : ?>
<?php $param_id = $key + 1; ?>
<div class="row mt-3 facebook-custom-param" data-param_id="<?php echo $param_id; ?>">
<div class="col">
<div class="row">
@@ -437,11 +437,11 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
</div>
</div>
</div>
<?php endforeach; ?>
<div class="insert-marker"></div>
<div class="row mt-3">
<div class="col-5"></div>
<div class="col-4">
@@ -449,11 +449,17 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
Custom Parameter</button>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<br>
<p>
<b>Important:</b> verify your custom events inside your Ads Manager:
<a href="https://www.youtube.com/watch?v=Iyu-pSbqcFI" target="_blank">watch this video to learn how</a>
</p>
</div>
</div>
<?php endif; ?>
@@ -701,13 +707,21 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
<li><code>[subtotal]</code> - it will pull WooCommerce or EDD orders's subtotal when it exists</li>
</ul>
<p><strong class="text-secondary">Track URL parameters:</strong></p>
<p class="text-secondary"> Use <code>[url_ParameterName]</code> where ParameterName = the name of the parameter. <br/>
Example:<br/>
<p class="text-secondary"> Use <code>[url_ParameterName]</code> where ParameterName = the name of the parameter. <br/><br/>
Example:<br/><br/>
This is your URL: <?=$serverUrl?>?ParameterName=123<br/>
The parameter value will be 123.<br/>
</p>
<p class="text-secondary mb-0"><strong>Note:</strong> if a parameter is missing from a particular
page, the event won't include it.</p>
<br/>
<p><strong class="text-secondary">Track MemberPress plugin parameters:</strong></p>
<p class="text-secondary"> These parameters only work on a "thankyou page" with shortcode <code>[mepr-ecommerce-tracking]Message with %%variables%% in here[/mepr-ecommerce-tracking]</code><br/><br/>
All variables must have the prefix "mp_".<br/><br/>
Example:<br/><br/>
This is your MemberPress variable: total.<br/>
The parameter value will be: [mp_total].<br/>
</p>
</div>
</div>
</div>
@@ -718,4 +732,4 @@ $serverUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" :
<div class="col-4">
<button class="btn btn-block btn-save">Save Event</button>
</div>
</div>
</div>

View File

@@ -14,8 +14,7 @@ $new_event_url = buildAdminUrl( 'pixelyoursite', 'events', 'edit' );
<div class="row">
<div class="col">
<div class="d-flex justify-content-between">
<span class="mt-2">With the pro version, you can fire events on clicks, mouse over and page
scroll:</span>
<span class="mt-2">With the pro version, you can fire events on clicks, mouse over elements, post type visits, or page scroll:</span>
<a target="_blank" class="btn btn-sm btn-primary float-right" href="https://www.pixelyoursite.com/facebook-pixel-plugin/buy-pixelyoursite-pro?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-upgrade-blue">UPGRADE</a>
</div>
</div>
@@ -62,7 +61,6 @@ $new_event_url = buildAdminUrl( 'pixelyoursite', 'events', 'edit' );
<div class="col">
<p>All the events you configure here will automatically get the following parameters for all the tags:
<i>page_title, post_type, post_id, event_URL, user_role, plugin, landing_page (pro), event_time (pro), event_day (pro), event_month (pro), traffic_source (pro), UTMs (pro).</i></p>
<p>Exception: Google Analytics Universal will not get all these parameters. Only <i>event_time (pro), event_day (pro), event_month (pro), traffic_source (pro)</i> are sent as custom dimensions.</p>
<p>You can add other parameters when you configure the events.</p>
</div>
</div>

View File

@@ -87,12 +87,6 @@ if ( ! defined( 'ABSPATH' ) ) {
</div>
</div>
<div class="row mt-3 mb-3">
<div class="col-12">
<?php Facebook()->render_checkbox_input("server_event_use_ajax","Use Ajax when conversion API is enabled. Keep this option active if you use a cache");?>
</div>
</div>
<div class="row align-items-center mb-3">
<div class="col-12">
<h4 class="label">test_event_code :</h4>
@@ -105,6 +99,7 @@ if ( ! defined( 'ABSPATH' ) ) {
</small>
</div>
</div>
<?php if(isWPMLActive()) : ?>
<div class="row mb-3">
<div class="col-12">
@@ -137,6 +132,13 @@ if ( ! defined( 'ABSPATH' ) ) {
<input type="checkbox" id="gan_settings_switch" style="display: none">
<div class="settings_content">
<div class="plate pt-3 pb-3">
<div class="row mb-2">
<div class="col-12">
<?php renderDummySwitcher(false); ?>
<h4 class="switcher-label">Enable Measurement Protocol (add the api_secret)</h4>
<?php renderProBadge(); ?>
</div>
</div>
<div class="row mb-3">
<div class="col-12">
<h4 class="label mb-3 mt-3">Google Analytics tracking ID:</h4>
@@ -145,13 +147,26 @@ if ( ! defined( 'ABSPATH' ) ) {
<a href="https://www.pixelyoursite.com/pixelyoursite-free-version/add-your-google-analytics-code?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-ids"
target="_blank">How to get it?</a>
</small>
<div class="row align-items-center mb-3">
<div class="col-12">
<h4 class="label">Measurement Protocol API secret: <?php renderProBadge(); ?></h4>
<?php renderDummyTextInput("API secret") ?>
</div>
</div>
<div class="row mb-3">
<div class="col">
Generate the API secret inside your Google Analytics account: navigate to <b>Admin > Data Streams > choose your stream > Measurement Protocol API secrets</b>. The Measurement Protocol is used for WooCommerce and Easy Digital Downloads "Google Analytics Advanced Purchase Tracking" and refund tracking. Required for GA4 properties only.
</div>
</div>
<div class ="mt-2">
<input type="checkbox" class="custom-control-input" name="pys[ga][is_enable_debug_mode][-1]" value="0" checked />
<?php GA()->render_checkbox_input_array("is_enable_debug_mode","Enable Analytics Debug mode for this property");?>
</div>
<p>
Learn how to get the Google Analytics 4 tag ID and how to test it:
<a href="https://www.youtube.com/watch?v=fwegcsO-yrc" target="_blank">watch video</a>
<a href="https://www.youtube.com/watch?v=KkiGbfl1q48" target="_blank">watch video</a>
</p>
<p class="mt-3 ">Add multiple Google Analytics tags with the <a href="https://www.pixelyoursite.com/?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-ids"
target="_blank">pro version</a>.</p>
@@ -161,6 +176,7 @@ if ( ! defined( 'ABSPATH' ) ) {
</p>
</div>
</div>
<?php if(isWPMLActive()) : ?>
<div class="row mb-3">
<div class="col-12">
@@ -211,7 +227,7 @@ if ( ! defined( 'ABSPATH' ) ) {
target="_blank">pro version</a>.
<div class="small">TikTok Tag integration is in beta.</div>
<div class="mt-3">
How to install the TikTok tag and how to get the ID: <a href="https://www.youtube.com/watch?v=zkb67djRnd0" target="_blank">watch video</a>
How to install the TikTok tag and how to enable TikTok API: <a href="https://www.youtube.com/watch?v=OCSR6zacnFM" target="_blank">watch video</a>
</div>
</div>
</div>
@@ -251,11 +267,7 @@ if ( ! defined( 'ABSPATH' ) ) {
How to configure Custom Conversions on Meta (Facebook) based on Events & Parameters (11:03) - watch now
</a>
</p>
<p>
<a href="https://www.youtube.com/watch?v=a5jPcLbdgy0" target="_blank">
How to run A/B tests with Google Optimize and GA4 (6:07)
</a>
</p>
<p><a href="https://www.youtube.com/watch?v=snUKcsTbvCk" target="_blank">Improve META (Facebook) EMQ score
with form automatic data detection (11:48) - watch now</a></p>
<p><a href="https://www.youtube.com/watch?v=X65h4uhsMJY" target="_blank">
@@ -799,6 +811,26 @@ if ( ! defined( 'ABSPATH' ) ) {
<hr>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-inline">
<?php PYS()->render_switcher_input( 'send_external_id' ); ?>
<h4 class="switcher-label">external_id</h4>
</div>
<small class="mt-1">We will store it in cookie called pbid</small>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-inline">
<label>external_id expire cookie:</label>
<?php PYS()->render_number_input( 'external_id_expire', '', false, 365, 1); ?>
</div>
<hr>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
@@ -881,6 +913,14 @@ if ( ! defined( 'ABSPATH' ) ) {
<h2 class="section-title mt-3">Global Settings</h2>
<div class="panel">
<div class="row mb-3">
<div class="col-12">
<?php PYS()->render_switcher_input("server_event_use_ajax" ); ?>
<h4 class="switcher-label">Use Ajax when API is enabled, or when external_id's are used. Keep this option active if you use a cache.</h4>
<div><small class="mt-1">Use Ajax when Meta conversion API, or Pinterest API are enabled, or when external_id's are used. This helps serving unique event_id values for each pair of browser/server events, ensuring deduplication works. It also ensures uniques external_id's are used for each user. Keep this option active if you use a cache solution that can serve the same event_id or the same external_id multiple times.</small></div>
<hr>
</div>
</div>
<div class="row mb-3">
<div class="col">
<?php PYS()->render_switcher_input( 'debug_enabled' ); ?>
@@ -929,7 +969,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<h4 class="switcher-label">Advanced user-data detection <a href="https://www.youtube.com/watch?v=snUKcsTbvCk" target="_blank">Watch video</a></h4>
<?php renderProBadge(); ?>
<small class="mt-1 d-block">
The plugin will try to detect user-related data like email, phone, first name, or last name and use it for subsequent Meta CAPI events personal parameters, and Meta browser events Advanced Matching. It works with most WordPress forms (email, phone number) and WooCommerce orders.
The plugin will try to detect user-related data like email, phone, first name, or last name and use it for subsequent Meta CAPI events personal parameters, and Meta browser events Advanced Matching. This data is also used for Google Ads enhanced converions, Pinterest and TikTok events.</small>
</small>
<hr>
</div>
@@ -1068,4 +1108,4 @@ if ( ! defined( 'ABSPATH' ) ) {
<?php endif; ?>
<?php
}
}

View File

@@ -28,7 +28,16 @@ use PixelYourSite\Facebook\Helpers;
</div>
</div>
<p class="small">
If the Purchase event doesn't fire for a transaction when the order is placed by your client, the plugin will send it to Facebook and Google Analytics Universal (not yet supported for GA4) when the order's status changes to Complete.
If the default Purchase event doesn't fire when an order is placed by the client, a Purchase event will be sent to Meta and Google using API when the order status is changed to "Completed". Meta Conversion API token and GA4 Measurement Protocol secret are required.
</p>
<div class="row">
<div class="col">
<?php renderDummySwitcher( false ); ?>
<h4 class="switcher-label">Track refunds on Google Analytics</h4><?php renderProBadge(); ?>
</div>
</div>
<p class="small">
A "Refund" event will be sent to Google via the API when the order status changes to "Refund". GA4 measurement protocol secret required.
</p>
</div>
</div>
@@ -39,8 +48,7 @@ use PixelYourSite\Facebook\Helpers;
<div class="card-body">
<div class="row">
<div class="col">
<p>Fire e-commerce related events. On Facebook, the events will be Dynamic Ads Ready. Enhanced Ecommerce
will be enabled for Google Analytics.</p>
<p>Fire e-commerce related events. Meta events are Dynamic Ads Ready. Monetization data is sent to Google Analytics.</p>
</div>
</div>
@@ -68,20 +76,31 @@ use PixelYourSite\Facebook\Helpers;
<small class="form-text">Display <i>the number of orders, lifetime value, and average order</i>.</small>
</div>
</div>
<div class="row mt-2">
<div class="col">
<?php PYS()->render_switcher_input( 'woo_enabled_show_tracking_type',false,true ); ?>
<h4 class="switcher-label">Show tracking type</h4> <?php renderProBadge(); ?>
<small class="form-check">Show the tracking type in the orders table and on the on the order's page.</small>
</div>
</div>
<div class="row mt-2">
<div class="col">
<label class="mb-2">If the Purchase event doesn't work correctly, add your Checkout page(s) ID(s) here: <?php renderProBadge(); ?></label>
<?php PYS()->render_tags_select_input("woo_checkout_page_ids", true);?>
<small class="form-check">Don't add the Checkout page IDs if you use Stripe or Klarna because conflicts are possible.</small>
</div>
</div>
</div>
</div>
<div class="panel">
<div class="row">
<div class="col">
<p>Use our dedicated plugin to create auto-updating feeds for Facebook Product Catalogs, Google Merchant,
or Google Ads Custom vertical.
<p>Use our dedicated plugin to upload and update your products to Meta Product Catalogs, Google Merchant, Google Ads Custom Vertical, Pinterest Catalogs, or TikTok Catalogs.
<a href="https://www.pixelyoursite.com/product-catalog-facebook?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-catalogs-woo-tab"
target="_blank">Click to get Product Catalog Feed Pro</a></p>
<p class="mb-0">Automatically add your WooCommerce products to a Facebook Product Catalog when someone
visits them.
<a href="https://www.pixelyoursite.com/opengraph-plugin?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-catalogs-woo-tab" target="_blank">Click to get the
Smart OpenGraph plugin</a></p>
</div>
</div>
</div>
@@ -95,7 +114,7 @@ use PixelYourSite\Facebook\Helpers;
<div class="row">
<div class="col">
<p>WooCommerce AddToCart Event FIX (4:46 min) - <a href="https://www.youtube.com/watch?v=oZoAu8a0PNg" target="_blank">watch now</a></p>
<p>Improve WooCommerce Facebook Ads performance with OFFLINE CONVERSIONS (11:38) - <a href="https://www.youtube.com/watch?v=vNsiWh0cakA" target="_blank">watch now</a></p>
<p>Analyse your WooCommerce data with ChatGPT (12:06) - <a href="https://www.youtube.com/watch?v=FjGJYAdZEKc" target="_blank">watch video</a></p>
<p>Enhanced Conversions for Google Ads with PixelYourSite (9:14) - <a href="https://www.youtube.com/watch?v=0uuTiOnVw80" target="_blank">watch now</a></p>
<p>Google Analytic 4 (GA4) & WooCommerce: Transaction Reports (6:51) - <a href="https://www.youtube.com/watch?v=zLtXHbp_DDU" target="_blank">watch now</a></p>
<p>Google Analytics 4 (GA4) FUNNELS for WooCommerce (6:13) - <a href="https://www.youtube.com/watch?v=c6L1XMYzuMM" target="_blank">watch now</a></p>
@@ -106,7 +125,24 @@ use PixelYourSite\Facebook\Helpers;
</div>
</div>
</div>
<!-- Brand -->
<div class="card ">
<div class="card-header">
Brand tracking for Google Analytics <?php renderProBadge(); ?> <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<div class="row">
<div class="col-11 form-inline">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Enable Brand tracking <?php renderProBadge(); ?></h4>
<div class="col-11 form-inline" style="margin-bottom: 20px; margin-top: 20px;">
<label>Brand taxonomy </label>
<?php renderDummySelectInput( 'Select taxonomy'); ?>
</div>
</div>
</div>
</div>
</div>
<!-- Transaction ID -->
<div class="card ">
<div class="card-header">
@@ -195,7 +231,7 @@ use PixelYourSite\Facebook\Helpers;
<?php $facebook_id_visibility = Helpers\isDefaultWooContentIdLogic() ? 'block' : 'none'; ?>
<?php $isShowFbID = Helpers\isFacebookForWooCommerceActive();?>
<div class="card" id="pys-section-facebook-id" style="display: <?php esc_attr_e( $facebook_id_visibility ); ?>;">
<div class="card-header">
Facebook ID setting<?php cardCollapseBtn(); ?>
@@ -205,10 +241,16 @@ use PixelYourSite\Facebook\Helpers;
<div class="col">
<?php Facebook()->render_switcher_input( 'woo_variable_as_simple' ); ?>
<h4 class="switcher-label">Treat variable products like simple products</h4>
<p class="mt-3">Turn this option ON when your Product Catalog doesn't include the variants for variable
<p class="mt-3">If you enable this option, the main ID will be used instead of the variation ID. Turn this option ON when your Product Catalog doesn't include the variants for variable
products.</p>
</div>
</div>
<div class="row mb-3">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">For product pages, track the variation data when a variation is selected <?php renderProBadge(); ?></h4>
</div>
</div>
<div class="row mb-3">
<div class="col col-offset-left form-inline">
<label>content_id</label>
@@ -246,7 +288,18 @@ use PixelYourSite\Facebook\Helpers;
<div class="col">
<?php GA()->render_switcher_input( 'woo_variable_as_simple' ); ?>
<h4 class="switcher-label">Treat variable products like simple products</h4>
<p class="mt-3">If you enable this option, the main ID will be used instead of the variation ID.</p>
<p class="mt-3">If you enable this option, the main ID will be used instead of the variation ID. Turn this option ON when your Product Catalog doesn't include the variants for variable products.</p>
</div>
</div>
<div class="row mb-3">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">For product pages, track the variation data when a variation is selected <?php renderProBadge(); ?></h4>
</div>
</div>
<div class="row mb-3">
<div class="col-12">
<?php GA()->render_checkbox_input( 'woo_variations_use_parent_name', "When tracking variations, use the parent name" ); ?>
</div>
</div>
<div class="row mb-3">
@@ -286,7 +339,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="card" id="pys-section-ga-id">
<div class="card" id="pys-section-pinterest-id">
<div class="card-header">
Pinterest Tag ID setting<?php cardCollapseBtn(); ?>
</div>
@@ -298,6 +351,12 @@ e&utm_campaign=pro-feature' ); ?>
<p class="mt-3">If you enable this option, the main ID will be used instead of the variation ID.</p>
</div>
</div>
<div class="row mb-3">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">For product pages, track the variation data when a variation is selected <?php renderProBadge(); ?></h4>
</div>
</div>
<div class="row mb-3">
<div class="col col-offset-left form-inline">
<label>ID</label>
@@ -347,6 +406,12 @@ e&utm_campaign=pro-feature' ); ?>
<p class="mt-3">If you enable this option, the main ID will be used instead of the variation ID.</p>
</div>
</div>
<div class="row mb-3">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">For product pages, track the variation data when a variation is selected <?php renderProBadge(); ?></h4>
</div>
</div>
<div class="row mb-3">
<div class="col col-offset-left form-inline">
<label>ID</label>
@@ -421,6 +486,8 @@ e&utm_campaign=pro-feature' ); ?>
<?php renderDummySelectInput( 'Include Tax' ); ?>
<label>and</label>
<?php renderDummySelectInput( 'Include Shipping' ); ?>
<label>and</label>
<?php renderDummySelectInput( 'Include Fees' ); ?>
</div>
</div>
@@ -454,6 +521,11 @@ e&utm_campaign=pro-feature' ); ?>
<?php renderDummyCheckbox( "Don't fire the event for 0 value transactions", true ); ?>
</div>
</div>
<div class="row mb-3">
<div class="col-12">
<?php renderDummyCheckbox( "Don't fire the event when the number of items is 0", true ); ?>
</div>
</div>
<div class="row mb-1">
<div class="col">
@@ -479,7 +551,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -536,7 +608,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -578,7 +650,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('woo_initiate_checkout_enabled');?>Track the Checkout Page <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -587,7 +659,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -646,7 +718,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -680,7 +752,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('woo_remove_from_cart_enabled');?>Track remove from cart <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -689,7 +761,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -712,7 +784,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php renderProBadge('https://www.pixelyoursite.com/google-ads-tag/?utm_source=pys-free-plugin&utm_medium=pro-badge&utm_campaign=pro-feature'); ?>
</div>
</div>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -742,7 +814,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('woo_add_to_cart_enabled');?>Track add to cart <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -751,7 +823,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -810,7 +882,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -844,7 +916,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('woo_view_content_enabled');?>Track product pages <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -853,7 +925,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -919,7 +991,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
@@ -953,7 +1025,7 @@ e&utm_campaign=pro-feature' ); ?>
<?php PYS()->render_switcher_input('woo_view_category_enabled');?>Track product category pages <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( Facebook()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -962,21 +1034,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
<?php GA()->render_switcher_input( 'woo_view_category_enabled' ); ?>
<h4 class="switcher-label">Enable the view_item_list event on Google Analytics</h4>
</div>
</div>
<div class="row mb-2">
<div class="col col-offset-left">
<?php GA()->render_checkbox_input( 'woo_view_category_non_interactive',
'Non-interactive event' ); ?>
</div>
</div>
<?php endif; ?>
<?php if ( Bing()->enabled() ) : ?>
<div class="row">
@@ -996,7 +1054,7 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<?php renderDummyGoogleAdsConversionLabelInputs(); ?>
<?php if ( Pinterest()->enabled() ) : ?>
<div class="row">
<div class="col">
@@ -1010,7 +1068,24 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
<!-- ViewCart -->
<div class="card">
<div class="card-header has_switch">
<?php PYS()->render_switcher_input( 'woo_view_cart_enabled' ); ?>Track cart pages <?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<?php if ( GA()->enabled() ) : ?>
<div class="row mb-1">
<div class="col">
<?php GA()->render_switcher_input( 'woo_view_cart_enabled' ); ?>
<h4 class="switcher-label">Enable the view_cart event on Google Analytics</h4>
</div>
</div>
<?php endif; ?>
</div>
</div>
<div class="card">
<div class="card-header">
@@ -1148,7 +1223,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has at least </label>
@@ -1205,7 +1280,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has at least</label>
@@ -1249,7 +1324,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Send the event to Google Ads</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
@@ -1263,7 +1338,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has LTV at least</label>
@@ -1272,7 +1347,131 @@ e&utm_campaign=pro-feature' ); ?>
</div>
</div>
</div>
<div class="card card-disabled">
<div class="card-header">
FrequentShopper Event <?php renderProBadge(); ?><?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Facebook</h4>
</div>
</div>
<div class="row mb-1">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Google Analytics</h4>
</div>
</div>
<div class="row mb-2">
<div class="col col-offset-left">
<?php renderDummyCheckbox( 'Non-interactive event' ); ?>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Google Ads</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Enable on Pinterest</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row mt-3">
<div class="col col-offset-left form-inline">
<label>Fire this event when the client has at least </label>
<?php renderDummyTextInput( 2 ); ?>
<label>transactions</label>
</div>
</div>
</div>
</div>
<div class="card card-disabled">
<div class="card-header has_switch">
FirstTimeBuyer Event <?php renderProBadge(); ?><?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Facebook</h4>
</div>
</div>
<div class="row mb-1">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Google Analytics</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Pinterest</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Bing</h4>
</div>
</div>
</div>
</div>
<div class="card card-disabled">
<div class="card-header has_switch">
ReturingCustomer Event <?php renderProBadge(); ?><?php cardCollapseBtn(); ?>
</div>
<div class="card-body">
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Facebook</h4>
</div>
</div>
<div class="row mb-1">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Google Analytics</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Pinterest</h4>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
<h4 class="switcher-label">Send the event to Bing</h4>
</div>
</div>
</div>
</div>
<h2 class="section-title">Extra events</h2>
<!-- Affiliate -->
@@ -1302,7 +1501,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row my-3">
<div class="col col-offset-left form-inline">
<label>Event Type:</label>
@@ -1352,7 +1551,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Send the event to Google Ads</h4>
</div>
</div>
</div>
</div>
@@ -1383,7 +1582,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Enable on Bing</h4>
</div>
</div>
<div class="row my-3">
<div class="col col-offset-left form-inline">
<label>Event Type:</label>
@@ -1433,7 +1632,7 @@ e&utm_campaign=pro-feature' ); ?>
<h4 class="switcher-label">Send the event to Google Ads</h4>
</div>
</div>
</div>
</div>
@@ -1454,14 +1653,14 @@ e&utm_campaign=pro-feature' ); ?>
<br><br>
<p>The Meta Pixel (formerly Facebook Pixel) events are Dynamic Ads ready.</p>
<p>The Google Analytics events track the data Enhanced Ecommerce or Monetization (GA4).</p>
<p>The Pinterest events have the required data for Dynamic Remarketing.</p>
<p>The Google Analytics events track Monetization data (GA4).</p>
<p>The Pinterest events have the required data for Dynamic Remarketing (paid add-on requiered).</p>
<br><br>
<p>The Purchase event will have the following extra-parameters:
<i>category_name, num_items, tags, total (pro), transactions_count (pro), tax (pro),
predicted_ltv (pro), average_order (pro), coupon_used (pro), coupon_code (pro), shipping (pro),
shipping_cost (pro).</i>
shipping_cost (pro), fee (pro).</i>
</p>
</div>
</div>
@@ -1501,7 +1700,13 @@ e&utm_campaign=pro-feature' ); ?>
<hr>
</div>
</div>
<div class="row">
<div class="col">
<?php PYS()->render_switcher_input( 'enable_woo_fees_param' ); ?>
<h4 class="switcher-label">fees</h4>
<hr>
</div>
</div>
<div class="row">
<div class="col">
<?php renderDummySwitcher(); ?>
@@ -1665,4 +1870,4 @@ e&utm_campaign=pro-feature' ); ?>
<div class="col-4">
<button class="btn btn-block btn-save">Save Settings</button>
</div>
</div>
</div>

View File

@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<div class="row">
<div class="col">
<h2 class="section-title">WooCommerce Reports <?php renderProBadge(); ?></h2>
</div>
</div>
</div>
<div class="container">
<div class="row" style="padding:40px">
@@ -24,6 +24,9 @@ if ( ! defined( 'ABSPATH' ) ) {
<h3 class="text-center" style="margin-top:40px">Get detailed info about products sold by each campaign, ad set, or ad</h3>
<a href="https://www.pixelyoursite.com/woocommerce-first-party-reports?utm_source=free-plugin-reports-page-woo&utm_medium=free-plugin-reports-page-woo&utm_campaign=free-plugin-reports-page-woo&utm_content=free-plugin-reports-page-woo&utm_term=free-plugin-reports-page-woo"
target="_blank" class="btn btn-save" style="margin-top:30px">Click to find more</a>
<h3 class="text-center" style="margin-top:40px">Analyse your WooCommerce data with ChatGPT</h3>
<a href="https://www.pixelyoursite.com/pixelyoursite-and-chatgpt?utm_source=free-plugin-reports-page-woo&utm_medium=free-plugin-reports-page-woo&utm_campaign=free-plugin-reports-page-woo&utm_content=free-plugin-reports-page-woo&utm_term=free-plugin-reports-page-woo"
target="_blank" class="btn btn-save" style="margin-top:30px">Click to find more</a>
</div>
</div>
</div>

View File

@@ -85,7 +85,15 @@ include "html-popovers.php";
case 'head_footer':
/** @noinspection PhpIncludeInspection */
include PYS_FREE_PATH . '/modules/head_footer/views/html-admin-page.php';
if ( current_user_can( 'manage_pys' ) && current_user_can('unfiltered_html') )
{
include PYS_FREE_PATH . '/modules/head_footer/views/html-admin-page.php';
}
else
{
include PYS_FREE_PATH . '/modules/head_footer/views/html-admin-not-permission-page.php';
}
break;
case 'facebook_settings':
@@ -209,8 +217,8 @@ include "html-popovers.php";
<div class="card card-static border-primary">
<div class="card-body">
<h4 class="card-title">WooCommerce Product Catalog Feeds</h4>
<p class="card-text">Generate auto-updating WooCommerce XML feeds for Facebook Product
Catalog, Google Merchant, and Google Ads (custom type).</p>
<p class="card-text">Generate auto-updating WooCommerce XML feeds for Meta Product
Catalog, Google Merchant, Google Ads (custom type), Pinterst Catalogs, or TikTok Catalogs.</p>
<a href="https://www.pixelyoursite.com/product-catalog-facebook?utm_source=free&utm_medium=plugin&utm_campaign=right-column-free" target="_blank"
class="btn btn-sm btn-block btn-primary">Click for details</a>
</div>