Version Description
12.09.2022
- Tweak: Added option to disable the PMW order list info output.
- Tweak: Updated default settings.
- Tweak: Added doc link for order list info.
- Tweak: Refactored running PMW tracking accuracy analysis report to better work with action scheduler to avoid running into its initialization bug
- Fix: Fixed options validation when importing the settings.
- Fix: Added safeguard to not fire the conversion pixels on the /order-pay/ page.
Download this release
Release Info
Developer | alekv |
Plugin | Pixel Manager for WooCommerce – Track Google Analytics, Google Ads, Facebook and more |
Version | 1.21.0 |
Comparing to | |
See all releases |
Code changes from version 1.20.2 to 1.21.0
- classes/admin/class-admin.php +116 -7
- classes/admin/class-documentation.php +17 -3
- classes/admin/class-environment-check.php +39 -0
- classes/class-db-upgrade.php +2 -2
- classes/class-default-options.php +12 -17
- classes/class-profit-margin.php +146 -0
- classes/pixels/class-pixel-manager.php +1 -2
- classes/pixels/trait-shop.php +13 -8
- languages/woocommerce-google-adwords-conversion-tracking-tag.pot +221 -203
- readme.txt +15 -3
- wgact.php +29 -20
classes/admin/class-admin.php
CHANGED
@@ -399,8 +399,8 @@ class Admin
|
|
399 |
// add fields for the order total logic
|
400 |
add_settings_field(
|
401 |
'wpm_plugin_order_total_logic',
|
402 |
-
esc_html__( 'Order Total Logic', 'woocommerce-google-adwords-conversion-tracking-tag' ),
|
403 |
-
[ $this, '
|
404 |
'wpm_plugin_options_page',
|
405 |
$section_ids['settings_name']
|
406 |
);
|
@@ -439,7 +439,15 @@ class Admin
|
|
439 |
$section_ids['settings_name']
|
440 |
);
|
441 |
}
|
442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
}
|
444 |
|
445 |
public function add_section_advanced_subsection_google( $section_ids )
|
@@ -1713,7 +1721,7 @@ class Admin
|
|
1713 |
echo ' <i>1234567</i>' ;
|
1714 |
}
|
1715 |
|
1716 |
-
public function
|
1717 |
{
|
1718 |
?>
|
1719 |
<label>
|
@@ -1723,7 +1731,10 @@ class Admin
|
|
1723 |
echo checked( 0, $this->options['shop']['order_total_logic'], false ) ;
|
1724 |
?> >
|
1725 |
<?php
|
1726 |
-
esc_html_e( '
|
|
|
|
|
|
|
1727 |
?>
|
1728 |
</label>
|
1729 |
<br>
|
@@ -1734,13 +1745,77 @@ class Admin
|
|
1734 |
echo checked( 1, $this->options['shop']['order_total_logic'], false ) ;
|
1735 |
?> >
|
1736 |
<?php
|
1737 |
-
esc_html_e( '
|
|
|
|
|
|
|
1738 |
?>
|
|
|
1739 |
</label>
|
1740 |
-
<br><br>
|
1741 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1742 |
esc_html_e( 'This is the order total amount reported back to the paid ads pixels (such as Google Ads, Facebook, etc.)', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1743 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1744 |
<?php
|
1745 |
}
|
1746 |
|
@@ -1771,6 +1846,15 @@ class Admin
|
|
1771 |
<?php
|
1772 |
}
|
1773 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1774 |
public function wpm_setting_html_google_consent_mode_active()
|
1775 |
{
|
1776 |
// adding the hidden input is a hack to make WordPress save the option with the value zero,
|
@@ -2357,6 +2441,31 @@ class Admin
|
|
2357 |
$this->get_documentation_html_by_key( 'acr' );
|
2358 |
}
|
2359 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2360 |
private function get_order_duplication_prevention_text()
|
2361 |
{
|
2362 |
esc_html_e( 'Basic order duplication prevention is ', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
399 |
// add fields for the order total logic
|
400 |
add_settings_field(
|
401 |
'wpm_plugin_order_total_logic',
|
402 |
+
esc_html__( 'Order Total Logic', 'woocommerce-google-adwords-conversion-tracking-tag' ) . $this->get_documentation_html_e( Documentation::get_link( 'order_total_logic' ) ),
|
403 |
+
[ $this, 'pmw_option_html_shop_order_total_logic' ],
|
404 |
'wpm_plugin_options_page',
|
405 |
$section_ids['settings_name']
|
406 |
);
|
439 |
$section_ids['settings_name']
|
440 |
);
|
441 |
}
|
442 |
+
|
443 |
+
// add checkbox for disabling tracking for user roles
|
444 |
+
add_settings_field(
|
445 |
+
'pmw_setting_order_list_info',
|
446 |
+
esc_html__( 'Order List Info', 'woocommerce-google-adwords-conversion-tracking-tag' ) . $this->html_beta(),
|
447 |
+
[ $this, 'pmw_info_html_order_list_info' ],
|
448 |
+
'wpm_plugin_options_page',
|
449 |
+
$section_ids['settings_name']
|
450 |
+
);
|
451 |
}
|
452 |
|
453 |
public function add_section_advanced_subsection_google( $section_ids )
|
1721 |
echo ' <i>1234567</i>' ;
|
1722 |
}
|
1723 |
|
1724 |
+
public function pmw_option_html_shop_order_total_logic()
|
1725 |
{
|
1726 |
?>
|
1727 |
<label>
|
1731 |
echo checked( 0, $this->options['shop']['order_total_logic'], false ) ;
|
1732 |
?> >
|
1733 |
<?php
|
1734 |
+
esc_html_e( 'Order Subtotal: Doesn\'t include tax and shipping (default)', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1735 |
+
?>
|
1736 |
+
<?php
|
1737 |
+
$this->get_documentation_html_by_key( 'order_subtotal' );
|
1738 |
?>
|
1739 |
</label>
|
1740 |
<br>
|
1745 |
echo checked( 1, $this->options['shop']['order_total_logic'], false ) ;
|
1746 |
?> >
|
1747 |
<?php
|
1748 |
+
esc_html_e( 'Order Total: Includes tax and shipping', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1749 |
+
?>
|
1750 |
+
<?php
|
1751 |
+
$this->get_documentation_html_by_key( 'order_total' );
|
1752 |
?>
|
1753 |
+
|
1754 |
</label>
|
|
|
1755 |
<?php
|
1756 |
+
|
1757 |
+
if ( wpm_fs()->is__premium_only() || '2' === $this->options['shop']['order_total_logic'] || $this->options['general']['pro_version_demo'] ) {
|
1758 |
+
?>
|
1759 |
+
<br>
|
1760 |
+
<label>
|
1761 |
+
<input type='radio' id='wpm_plugin_order_total_logic_2'
|
1762 |
+
name='wgact_plugin_options[shop][order_total_logic]'
|
1763 |
+
value='2' <?php
|
1764 |
+
echo checked( 2, $this->options['shop']['order_total_logic'], false ) ;
|
1765 |
+
?>
|
1766 |
+
<?php
|
1767 |
+
if ( !(Environment_Check::get_instance()->is_woocommerce_cog_active() || Environment_Check::get_instance()->is_cog_for_woocommerce_active()) || !wpm_fs()->is__premium_only() ) {
|
1768 |
+
?>
|
1769 |
+
disabled
|
1770 |
+
<?php
|
1771 |
+
}
|
1772 |
+
?>
|
1773 |
+
>
|
1774 |
+
<?php
|
1775 |
+
esc_html_e( 'Profit Margin: Only reports the profit margin. Excludes tax, shipping, and where possible, gateway fees.', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1776 |
+
?>
|
1777 |
+
<?php
|
1778 |
+
$this->get_documentation_html_by_key( 'order_profit_margin' );
|
1779 |
+
?>
|
1780 |
+
<?php
|
1781 |
+
$this->html_beta_e();
|
1782 |
+
?>
|
1783 |
+
<?php
|
1784 |
+
$this->html_pro_feature();
|
1785 |
+
?>
|
1786 |
+
</label>
|
1787 |
+
<?php
|
1788 |
+
}
|
1789 |
+
|
1790 |
+
?>
|
1791 |
+
<div style="margin-top: 10px">
|
1792 |
+
<div>
|
1793 |
+
<?php
|
1794 |
esc_html_e( 'This is the order total amount reported back to the paid ads pixels (such as Google Ads, Facebook, etc.)', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1795 |
?>
|
1796 |
+
<?php
|
1797 |
+
|
1798 |
+
if ( wpm_fs()->is__premium_only() && !(Environment_Check::get_instance()->is_woocommerce_cog_active() || Environment_Check::get_instance()->is_cog_for_woocommerce_active()) ) {
|
1799 |
+
?>
|
1800 |
+
</div>
|
1801 |
+
<div style="margin-top: 10px">
|
1802 |
+
<span class="dashicons dashicons-info"></span>
|
1803 |
+
<?php
|
1804 |
+
esc_html_e( 'To use the Profit Margin setting you will need to install one of the following two Cost of Goods plugins:', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1805 |
+
?>
|
1806 |
+
<a href="https://woocommerce.com/products/woocommerce-cost-of-goods/" target="_blank">WooCommerce Cost
|
1807 |
+
of Goods (SkyVerge)</a>
|
1808 |
+
<?php
|
1809 |
+
esc_html_e( 'or', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1810 |
+
?>
|
1811 |
+
<a href="https://wordpress.org/plugins/cost-of-goods-for-woocommerce/" target="_blank">Cost of Goods for
|
1812 |
+
WooCommerce (WPFactory)</a>
|
1813 |
+
<?php
|
1814 |
+
}
|
1815 |
+
|
1816 |
+
?>
|
1817 |
+
</div>
|
1818 |
+
</div>
|
1819 |
<?php
|
1820 |
}
|
1821 |
|
1846 |
<?php
|
1847 |
}
|
1848 |
|
1849 |
+
protected function get_documentation_html_e( $path )
|
1850 |
+
{
|
1851 |
+
$html = '<a class="pmw-documentation-icon" href="' . $path . '" target="_blank">';
|
1852 |
+
$html .= '<span style="vertical-align: top; margin-top: 0px" class="dashicons dashicons-info-outline pmw-tooltip"><span class="tooltiptext">';
|
1853 |
+
$html .= esc_html__( 'open the documentation', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
1854 |
+
$html .= '</span></span></a>';
|
1855 |
+
return $html;
|
1856 |
+
}
|
1857 |
+
|
1858 |
public function wpm_setting_html_google_consent_mode_active()
|
1859 |
{
|
1860 |
// adding the hidden input is a hack to make WordPress save the option with the value zero,
|
2441 |
$this->get_documentation_html_by_key( 'acr' );
|
2442 |
}
|
2443 |
|
2444 |
+
public function pmw_info_html_order_list_info()
|
2445 |
+
{
|
2446 |
+
// adding the hidden input is a hack to make WordPress save the option with the value zero,
|
2447 |
+
// instead of not saving it and remove that array key entirely
|
2448 |
+
// https://stackoverflow.com/a/1992745/4688612
|
2449 |
+
?>
|
2450 |
+
<label>
|
2451 |
+
<input type='hidden' value='0' name='wgact_plugin_options[shop][order_list_info]'>
|
2452 |
+
<input type='checkbox' id='wpm_plugin_option_gads_dynamic_remarketing'
|
2453 |
+
name='wgact_plugin_options[shop][order_list_info]'
|
2454 |
+
value='1' <?php
|
2455 |
+
checked( $this->options['shop']['order_list_info'] );
|
2456 |
+
?> />
|
2457 |
+
|
2458 |
+
<?php
|
2459 |
+
esc_html_e( 'Display PMW related information on the order list page', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
2460 |
+
?>
|
2461 |
+
</label>
|
2462 |
+
<?php
|
2463 |
+
$this->get_status_icon_new( $this->options['shop']['order_list_info'] );
|
2464 |
+
?>
|
2465 |
+
<?php
|
2466 |
+
$this->get_documentation_html_by_key( 'order_list_info' );
|
2467 |
+
}
|
2468 |
+
|
2469 |
private function get_order_duplication_prevention_text()
|
2470 |
{
|
2471 |
esc_html_e( 'Basic order duplication prevention is ', 'woocommerce-google-adwords-conversion-tracking-tag' );
|
classes/admin/class-documentation.php
CHANGED
@@ -151,13 +151,27 @@ class Documentation {
|
|
151 |
'wcm' => '/document/pixel-manager-pro-for-woocommerce/testing/'],
|
152 |
'payment_gateway_tracking_accuracy' => [
|
153 |
'default' => '/docs/wpm/diagnostics/#payment-gateway-tracking-accuracy-report',
|
154 |
-
'wcm' => 'document/pixel-manager-pro-for-woocommerce/diagnostics/#payment-gateway-tracking-accuracy-report'],
|
155 |
'acr' => [
|
156 |
'default' => '/docs/wpm/features/acr',
|
157 |
-
'wcm' => 'document/pixel-manager-pro-for-woocommerce/'],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
];
|
159 |
|
160 |
-
|
161 |
if (array_key_exists($key, $documentation_links)) {
|
162 |
return $documentation_links[$key][$doc_host_url];
|
163 |
} else {
|
151 |
'wcm' => '/document/pixel-manager-pro-for-woocommerce/testing/'],
|
152 |
'payment_gateway_tracking_accuracy' => [
|
153 |
'default' => '/docs/wpm/diagnostics/#payment-gateway-tracking-accuracy-report',
|
154 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/diagnostics/#payment-gateway-tracking-accuracy-report'],
|
155 |
'acr' => [
|
156 |
'default' => '/docs/wpm/features/acr',
|
157 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/features/automatic-conversion-recovery-acr/'],
|
158 |
+
'order_list_info' => [
|
159 |
+
'default' => '/docs/wpm/plugin-configuration/general-settings#order-list-info',
|
160 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/pmw-plugin-configuration/general-settings/#order-list-info'],
|
161 |
+
'order_total_logic' => [
|
162 |
+
'default' => '/docs/wpm/plugin-configuration/general-settings#order-total-logic',
|
163 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/'],
|
164 |
+
'order_subtotal' => [
|
165 |
+
'default' => '/docs/wpm/plugin-configuration/general-settings#order-subtotal-default',
|
166 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/'],
|
167 |
+
'order_total' => [
|
168 |
+
'default' => '/docs/wpm/plugin-configuration/general-settings#order-total',
|
169 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/'],
|
170 |
+
'order_profit_margin' => [
|
171 |
+
'default' => '/docs/wpm/plugin-configuration/general-settings#profit-margin',
|
172 |
+
'wcm' => '/document/pixel-manager-pro-for-woocommerce/'],
|
173 |
];
|
174 |
|
|
|
175 |
if (array_key_exists($key, $documentation_links)) {
|
176 |
return $documentation_links[$key][$doc_host_url];
|
177 |
} else {
|
classes/admin/class-environment-check.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
namespace WCPM\Classes\Admin;
|
4 |
|
|
|
5 |
use WCPM\Classes\Pixels\Trait_Shop;
|
6 |
|
7 |
if (!defined('ABSPATH')) {
|
@@ -54,6 +55,22 @@ class Environment_Check {
|
|
54 |
return false;
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
public function is_not_allowed_notification_page( $page ) {
|
58 |
return !$this->is_allowed_notification_page($page);
|
59 |
}
|
@@ -518,6 +535,18 @@ class Environment_Check {
|
|
518 |
return is_plugin_active('cookie-law-info/cookie-law-info.php');
|
519 |
}
|
520 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
public function is_some_cmp_active() {
|
522 |
if (
|
523 |
$this->is_borlabs_cookie_active() ||
|
@@ -1479,6 +1508,16 @@ class Environment_Check {
|
|
1479 |
return $this->wpm_ist_order_received_page;
|
1480 |
}
|
1481 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1482 |
// Get value from WC or db
|
1483 |
$this->wpm_ist_order_received_page = is_order_received_page() || $this->is_valid_order_key_in_url();
|
1484 |
return $this->wpm_ist_order_received_page;
|
2 |
|
3 |
namespace WCPM\Classes\Admin;
|
4 |
|
5 |
+
use WCPM\Classes\Helpers;
|
6 |
use WCPM\Classes\Pixels\Trait_Shop;
|
7 |
|
8 |
if (!defined('ABSPATH')) {
|
55 |
return false;
|
56 |
}
|
57 |
|
58 |
+
public function is_pmw_settings_page() {
|
59 |
+
|
60 |
+
if (!is_admin()) {
|
61 |
+
return false;
|
62 |
+
}
|
63 |
+
|
64 |
+
$_get = Helpers::get_input_vars_sanitized(INPUT_GET);
|
65 |
+
$page = isset($_get['page']) ? $_get['page'] : '';
|
66 |
+
|
67 |
+
if ('wpm' !== $page) {
|
68 |
+
return false;
|
69 |
+
}
|
70 |
+
|
71 |
+
return true;
|
72 |
+
}
|
73 |
+
|
74 |
public function is_not_allowed_notification_page( $page ) {
|
75 |
return !$this->is_allowed_notification_page($page);
|
76 |
}
|
535 |
return is_plugin_active('cookie-law-info/cookie-law-info.php');
|
536 |
}
|
537 |
|
538 |
+
// WooCommerce Cost of Goods
|
539 |
+
// https://woocommerce.com/products/woocommerce-cost-of-goods/
|
540 |
+
public function is_woocommerce_cog_active() {
|
541 |
+
return class_exists('WC_COG') || is_plugin_active('woocommerce-cost-of-goods/woocommerce-cost-of-goods.php');
|
542 |
+
}
|
543 |
+
|
544 |
+
// Cost of Good for WooCommerce
|
545 |
+
// https://wordpress.org/plugins/cost-of-goods-for-woocommerce/
|
546 |
+
public function is_cog_for_woocommerce_active() {
|
547 |
+
return class_exists('Alg_WC_Cost_of_Goods') || is_plugin_active('cost-of-goods-for-woocommerce/cost-of-goods-for-woocommerce.php');
|
548 |
+
}
|
549 |
+
|
550 |
public function is_some_cmp_active() {
|
551 |
if (
|
552 |
$this->is_borlabs_cookie_active() ||
|
1508 |
return $this->wpm_ist_order_received_page;
|
1509 |
}
|
1510 |
|
1511 |
+
/**
|
1512 |
+
* If a purchase order was created by a shop manager
|
1513 |
+
* and the customer is viewing the PO page
|
1514 |
+
* don't fire the conversion pixels
|
1515 |
+
**/
|
1516 |
+
if (is_checkout_pay_page()) {
|
1517 |
+
$this->wpm_ist_order_received_page = false;
|
1518 |
+
return false;
|
1519 |
+
}
|
1520 |
+
|
1521 |
// Get value from WC or db
|
1522 |
$this->wpm_ist_order_received_page = is_order_received_page() || $this->is_valid_order_key_in_url();
|
1523 |
return $this->wpm_ist_order_received_page;
|
classes/class-db-upgrade.php
CHANGED
@@ -36,7 +36,7 @@ class Db_Upgrade {
|
|
36 |
|
37 |
$options_old = get_option(WPM_DB_OPTIONS_NAME);
|
38 |
|
39 |
-
|
40 |
|
41 |
$options_new = $options_old;
|
42 |
|
@@ -62,7 +62,7 @@ class Db_Upgrade {
|
|
62 |
|
63 |
$options_old = get_option(WPM_DB_OPTIONS_NAME);
|
64 |
|
65 |
-
|
66 |
|
67 |
$options_new = [
|
68 |
'gads' => [
|
36 |
|
37 |
$options_old = get_option(WPM_DB_OPTIONS_NAME);
|
38 |
|
39 |
+
self::backup_options($options_old, '2');
|
40 |
|
41 |
$options_new = $options_old;
|
42 |
|
62 |
|
63 |
$options_old = get_option(WPM_DB_OPTIONS_NAME);
|
64 |
|
65 |
+
self::backup_options($options_old, '1');
|
66 |
|
67 |
$options_new = [
|
68 |
'gads' => [
|
classes/class-default-options.php
CHANGED
@@ -20,10 +20,10 @@ class Default_Options {
|
|
20 |
'aw_merchant_id' => '',
|
21 |
'product_identifier' => 0,
|
22 |
'google_business_vertical' => 0,
|
23 |
-
'dynamic_remarketing' =>
|
24 |
'phone_conversion_number' => '',
|
25 |
'phone_conversion_label' => '',
|
26 |
-
'enhanced_conversions' =>
|
27 |
],
|
28 |
'analytics' => [
|
29 |
'universal' => [
|
@@ -33,23 +33,20 @@ class Default_Options {
|
|
33 |
'measurement_id' => '',
|
34 |
'api_secret' => '',
|
35 |
],
|
36 |
-
'link_attribution' =>
|
37 |
],
|
38 |
'optimize' => [
|
39 |
'container_id' => '',
|
40 |
],
|
41 |
-
'gtag' => [
|
42 |
-
'deactivation' => 0,
|
43 |
-
],
|
44 |
'consent_mode' => [
|
45 |
-
'active' =>
|
46 |
'regions' => [],
|
47 |
],
|
48 |
-
'user_id' =>
|
49 |
],
|
50 |
'facebook' => [
|
51 |
'pixel_id' => '',
|
52 |
-
'microdata' =>
|
53 |
'capi' => [
|
54 |
'token' => '',
|
55 |
'user_transparency' => [
|
@@ -79,18 +76,16 @@ class Default_Options {
|
|
79 |
'shop' => [
|
80 |
'order_total_logic' => 0,
|
81 |
'cookie_consent_mgmt' => [
|
82 |
-
'
|
83 |
-
'active' => 0
|
84 |
-
],
|
85 |
-
'explicit_consent' => 0,
|
86 |
],
|
87 |
-
'order_deduplication' =>
|
88 |
'disable_tracking_for' => [],
|
|
|
89 |
],
|
90 |
'general' => [
|
91 |
-
'variations_output' =>
|
92 |
-
'maximum_compatibility_mode' =>
|
93 |
-
'pro_version_demo' =>
|
94 |
],
|
95 |
'db_version' => WPM_DB_VERSION,
|
96 |
];
|
20 |
'aw_merchant_id' => '',
|
21 |
'product_identifier' => 0,
|
22 |
'google_business_vertical' => 0,
|
23 |
+
'dynamic_remarketing' => false,
|
24 |
'phone_conversion_number' => '',
|
25 |
'phone_conversion_label' => '',
|
26 |
+
'enhanced_conversions' => false,
|
27 |
],
|
28 |
'analytics' => [
|
29 |
'universal' => [
|
33 |
'measurement_id' => '',
|
34 |
'api_secret' => '',
|
35 |
],
|
36 |
+
'link_attribution' => false,
|
37 |
],
|
38 |
'optimize' => [
|
39 |
'container_id' => '',
|
40 |
],
|
|
|
|
|
|
|
41 |
'consent_mode' => [
|
42 |
+
'active' => false,
|
43 |
'regions' => [],
|
44 |
],
|
45 |
+
'user_id' => false,
|
46 |
],
|
47 |
'facebook' => [
|
48 |
'pixel_id' => '',
|
49 |
+
'microdata' => false,
|
50 |
'capi' => [
|
51 |
'token' => '',
|
52 |
'user_transparency' => [
|
76 |
'shop' => [
|
77 |
'order_total_logic' => 0,
|
78 |
'cookie_consent_mgmt' => [
|
79 |
+
'explicit_consent' => false,
|
|
|
|
|
|
|
80 |
],
|
81 |
+
'order_deduplication' => true,
|
82 |
'disable_tracking_for' => [],
|
83 |
+
'order_list_info' => true,
|
84 |
],
|
85 |
'general' => [
|
86 |
+
'variations_output' => true,
|
87 |
+
'maximum_compatibility_mode' => false,
|
88 |
+
'pro_version_demo' => false,
|
89 |
],
|
90 |
'db_version' => WPM_DB_VERSION,
|
91 |
];
|
classes/class-profit-margin.php
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Profit Margin calculation class
|
5 |
+
*/
|
6 |
+
|
7 |
+
namespace WCPM\Classes;
|
8 |
+
|
9 |
+
if (!defined('ABSPATH')) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
|
13 |
+
class Profit_Margin {
|
14 |
+
|
15 |
+
public static function get_order_profit_margin( $order ) {
|
16 |
+
|
17 |
+
$cogs_margin = self::get_order_item_profit_margin($order);
|
18 |
+
|
19 |
+
$cogs_margin -= $order->get_total_discount();
|
20 |
+
$cogs_margin -= self::get_order_fees($order);
|
21 |
+
|
22 |
+
return wc_format_decimal($cogs_margin);
|
23 |
+
}
|
24 |
+
|
25 |
+
private static function get_order_item_profit_margin( $order ) {
|
26 |
+
|
27 |
+
$order_items = $order->get_items();
|
28 |
+
|
29 |
+
$order_value = 0;
|
30 |
+
|
31 |
+
foreach ($order_items as $item) {
|
32 |
+
|
33 |
+
$product = $item->get_product();
|
34 |
+
|
35 |
+
if (!is_object($product)) {
|
36 |
+
continue;
|
37 |
+
}
|
38 |
+
|
39 |
+
$qty = $item->get_quantity();
|
40 |
+
$item_cog = self::get_cog_for_product($product);
|
41 |
+
|
42 |
+
$order_value += $item->get_total() - ( $qty * $item_cog );
|
43 |
+
}
|
44 |
+
|
45 |
+
return $order_value;
|
46 |
+
}
|
47 |
+
|
48 |
+
private static function get_cog_for_product( $product ) {
|
49 |
+
|
50 |
+
// WooCommerce Cost of Goods (SkyVerge)
|
51 |
+
if (class_exists('WC_COG_Product') && method_exists('WC_COG_Product', 'get_cost')) {
|
52 |
+
|
53 |
+
$cog = \WC_COG_Product::get_cost($product);
|
54 |
+
|
55 |
+
return floatval($cog);
|
56 |
+
}
|
57 |
+
|
58 |
+
// Cost of Goods for WooCommerce (WPFactory)
|
59 |
+
if (class_exists('Alg_WC_Cost_of_Goods_Products') && method_exists('Alg_WC_Cost_of_Goods_Products', 'get_product_cost')) {
|
60 |
+
|
61 |
+
$cog = ( new \Alg_WC_Cost_of_Goods_Products() )->get_product_cost($product->get_id());
|
62 |
+
|
63 |
+
return floatval($cog);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Fallback to retrieving directly from postmeta if the COG plugin gets deactivated for some reason
|
68 |
+
*/
|
69 |
+
|
70 |
+
// WooCommerce Cost of Goods (SkyVerge)
|
71 |
+
$cog = self::get_cog_for_product_from_meta($product, '_wc_cog_cost');
|
72 |
+
|
73 |
+
if ($cog) {
|
74 |
+
return floatval($cog);
|
75 |
+
}
|
76 |
+
|
77 |
+
// Cost of Goods for WooCommerce (WPFactory)
|
78 |
+
$cog = self::get_cog_for_product_from_meta($product, '_alg_wc_cog_cost');
|
79 |
+
|
80 |
+
if ($cog) {
|
81 |
+
return floatval($cog);
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Fallback to zero if none of the above works
|
86 |
+
*/
|
87 |
+
|
88 |
+
return 0;
|
89 |
+
}
|
90 |
+
|
91 |
+
private static function get_cog_for_product_from_meta( $product, $meta_key ) {
|
92 |
+
|
93 |
+
$cog = get_post_meta($product->get_id(), $meta_key, true);
|
94 |
+
|
95 |
+
// If item is a variation and the COG is set, use the variation COG, otherwise try to use the parent COG
|
96 |
+
if (empty($cog) && $product->is_type('variation')) {
|
97 |
+
$cog = get_post_meta($product->get_parent_id(), $meta_key, true);
|
98 |
+
}
|
99 |
+
|
100 |
+
return $cog;
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
private static function get_order_fees( $order ) {
|
105 |
+
|
106 |
+
$order_fees = 0;
|
107 |
+
|
108 |
+
// Add fees that have been saved to the order
|
109 |
+
if ($order->get_total_fees()) {
|
110 |
+
$order_fees = $order->get_total_fees();
|
111 |
+
}
|
112 |
+
|
113 |
+
// Add Stripe fees
|
114 |
+
// because Stripe doesn't save the fee on the order fees
|
115 |
+
$order_fees += self::get_fee_by_postmeta_key($order->get_id(), '_stripe_fee');
|
116 |
+
|
117 |
+
// Add _paypal_transaction_fee
|
118 |
+
// because PayPal doesn't save the fee on the order fees
|
119 |
+
// https://stackoverflow.com/a/56129332/4688612
|
120 |
+
$order_fees += self::get_fee_by_postmeta_key($order->get_id(), '_paypal_transaction_fee');
|
121 |
+
|
122 |
+
// Add ppcp_paypal_fees
|
123 |
+
// because PayPal doesn't save the fee on the order fees
|
124 |
+
if (get_post_meta($order->get_id(), '_ppcp_paypal_fees', true)) {
|
125 |
+
$ppcp_paypal_fees = get_post_meta($order->get_id(), '_ppcp_paypal_fees', true);
|
126 |
+
|
127 |
+
if (!empty($ppcp_paypal_fees['paypal_fee']['value'])) {
|
128 |
+
$order_fees += $ppcp_paypal_fees['paypal_fee']['value'];
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
return $order_fees;
|
133 |
+
}
|
134 |
+
|
135 |
+
private static function get_fee_by_postmeta_key( $order_id, $postmeta_key ) {
|
136 |
+
|
137 |
+
$fee = get_post_meta($order_id, $postmeta_key, true);
|
138 |
+
|
139 |
+
if (empty($fee)) {
|
140 |
+
return 0;
|
141 |
+
}
|
142 |
+
|
143 |
+
return $fee;
|
144 |
+
}
|
145 |
+
}
|
146 |
+
|
classes/pixels/class-pixel-manager.php
CHANGED
@@ -28,7 +28,6 @@ class Pixel_Manager
|
|
28 |
protected $google ;
|
29 |
protected $microdata_product_id ;
|
30 |
protected $position = 1 ;
|
31 |
-
protected $is_order_received_page = false ;
|
32 |
protected $order ;
|
33 |
private static $instance ;
|
34 |
public static function get_instance()
|
@@ -295,7 +294,7 @@ class Pixel_Manager
|
|
295 |
$options = $this->generic_sanitization( $options );
|
296 |
// Validate imported options
|
297 |
|
298 |
-
if (
|
299 |
update_option( WPM_DB_OPTIONS_NAME, $options );
|
300 |
wp_send_json_success( [
|
301 |
'message' => 'Options saved',
|
28 |
protected $google ;
|
29 |
protected $microdata_product_id ;
|
30 |
protected $position = 1 ;
|
|
|
31 |
protected $order ;
|
32 |
private static $instance ;
|
33 |
public static function get_instance()
|
294 |
$options = $this->generic_sanitization( $options );
|
295 |
// Validate imported options
|
296 |
|
297 |
+
if ( Validations::validate_imported_options( $options ) ) {
|
298 |
update_option( WPM_DB_OPTIONS_NAME, $options );
|
299 |
wp_send_json_success( [
|
300 |
'message' => 'Options saved',
|
classes/pixels/trait-shop.php
CHANGED
@@ -8,6 +8,7 @@ use libphonenumber\PhoneNumberUtil ;
|
|
8 |
use WC_Geolocation ;
|
9 |
use WCPM\Classes\Admin\Documentation ;
|
10 |
use WCPM\Classes\Admin\Environment_Check ;
|
|
|
11 |
|
12 |
if ( !defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
@@ -84,12 +85,6 @@ trait Trait_Shop
|
|
84 |
protected function is_valid_order_key_in_url()
|
85 |
{
|
86 |
$_get = $this->get_input_vars( INPUT_GET );
|
87 |
-
// If a purchase order was created by a shop manager
|
88 |
-
// and the customer is viewing the PO
|
89 |
-
// don't fire the conversion pixels
|
90 |
-
if ( isset( $_get['pay_for_order'] ) ) {
|
91 |
-
return false;
|
92 |
-
}
|
93 |
$order_key = null;
|
94 |
// key is for WooCommerce
|
95 |
// wcf-key is for CartFlows
|
@@ -113,8 +108,17 @@ trait Trait_Shop
|
|
113 |
|
114 |
protected function wpm_get_order_total( $order )
|
115 |
{
|
116 |
-
$order_total =
|
117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
$order_total = apply_filters_deprecated(
|
119 |
'wgact_conversion_value_filter',
|
120 |
[ $order_total, $order ],
|
@@ -127,6 +131,7 @@ trait Trait_Shop
|
|
127 |
'1.13.0',
|
128 |
'wpm_conversion_value_filter'
|
129 |
);
|
|
|
130 |
$order_total = apply_filters( 'wpm_conversion_value_filter', $order_total, $order );
|
131 |
return wc_format_decimal( (double) $order_total, 2 );
|
132 |
}
|
8 |
use WC_Geolocation ;
|
9 |
use WCPM\Classes\Admin\Documentation ;
|
10 |
use WCPM\Classes\Admin\Environment_Check ;
|
11 |
+
use WCPM\Classes\Profit_Margin ;
|
12 |
|
13 |
if ( !defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
85 |
protected function is_valid_order_key_in_url()
|
86 |
{
|
87 |
$_get = $this->get_input_vars( INPUT_GET );
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
$order_key = null;
|
89 |
// key is for WooCommerce
|
90 |
// wcf-key is for CartFlows
|
108 |
|
109 |
protected function wpm_get_order_total( $order )
|
110 |
{
|
111 |
+
$order_total = $order->get_total();
|
112 |
+
|
113 |
+
if ( in_array( $this->options_obj->shop->order_total_logic, [ '0', 'order_subtotal' ], true ) ) {
|
114 |
+
$order_total = $order->get_subtotal() - $order->get_total_discount();
|
115 |
+
} elseif ( in_array( $this->options_obj->shop->order_total_logic, [ '1', 'order_total' ], true ) ) {
|
116 |
+
$order_total = $order->get_total();
|
117 |
+
} elseif ( in_array( $this->options_obj->shop->order_total_logic, [ '2', 'order_profit_margin' ], true ) ) {
|
118 |
+
$order_total = Profit_Margin::get_order_profit_margin( $order );
|
119 |
+
}
|
120 |
+
|
121 |
+
// deprecated filters to adjust the order value
|
122 |
$order_total = apply_filters_deprecated(
|
123 |
'wgact_conversion_value_filter',
|
124 |
[ $order_total, $order ],
|
131 |
'1.13.0',
|
132 |
'wpm_conversion_value_filter'
|
133 |
);
|
134 |
+
// filter to adjust the order value
|
135 |
$order_total = apply_filters( 'wpm_conversion_value_filter', $order_total, $order );
|
136 |
return wc_format_decimal( (double) $order_total, 2 );
|
137 |
}
|
languages/woocommerce-google-adwords-conversion-tracking-tag.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the GNU General Public License v3.0.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Pixel Manager for WooCommerce 1.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: woocommerce-google-adwords-conversion-tracking-tag\n"
|
@@ -34,733 +34,751 @@ msgstr ""
|
|
34 |
msgid "https://sweetcode.com"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: classes/admin/class-admin.php:
|
38 |
-
#: classes/admin/class-admin.php:
|
39 |
-
#: wgact.php:
|
40 |
-
#: wgact.php:
|
41 |
msgid "Pixel Manager"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: classes/admin/class-admin.php:
|
45 |
msgid "Main"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: classes/admin/class-admin.php:
|
49 |
msgid "Google"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: classes/admin/class-admin.php:
|
53 |
msgid "Google Ads Conversion ID"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: classes/admin/class-admin.php:
|
57 |
msgid "Google Ads Purchase Conversion Label"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: classes/admin/class-admin.php:
|
61 |
msgid "Google Analytics UA"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: classes/admin/class-admin.php:
|
65 |
msgid "Google Analytics 4"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: classes/admin/class-admin.php:
|
69 |
msgid "Google Optimize"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: classes/admin/class-admin.php:
|
73 |
msgid "Meta (Facebook)"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: classes/admin/class-admin.php:
|
77 |
msgid "Meta (Facebook) pixel ID"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: classes/admin/class-admin.php:
|
81 |
msgid "more pixels"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: classes/admin/class-admin.php:
|
85 |
msgid "Microsoft Advertising UET tag ID"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: classes/admin/class-admin.php:
|
89 |
msgid "Twitter pixel ID"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: classes/admin/class-admin.php:
|
93 |
msgid "Pinterest pixel ID"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: classes/admin/class-admin.php:
|
97 |
msgid "Snapchat pixel ID"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: classes/admin/class-admin.php:
|
101 |
msgid "TikTok pixel ID"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: classes/admin/class-admin.php:
|
105 |
msgid "Hotjar site ID"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: classes/admin/class-admin.php:
|
109 |
msgid "Advanced"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: classes/admin/class-admin.php:
|
113 |
msgid "Order Total Logic"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: classes/admin/class-admin.php:
|
117 |
msgid "Order Duplication Prevention"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: classes/admin/class-admin.php:
|
121 |
msgid "Maximum Compatibility Mode"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: classes/admin/class-admin.php:
|
125 |
msgid "Disable Tracking for User Roles"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: classes/admin/class-admin.php:
|
129 |
msgid "ACR"
|
130 |
msgstr ""
|
131 |
|
132 |
#: classes/admin/class-admin.php:667
|
|
|
|
|
|
|
|
|
133 |
msgid "Conversion Cart Data"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: classes/admin/class-admin.php:
|
137 |
msgid "Enhanced E-Commerce"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: classes/admin/class-admin.php:
|
141 |
msgid "GA 4 API secret"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: classes/admin/class-admin.php:
|
145 |
msgid "Enhanced Link Attribution"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: classes/admin/class-admin.php:
|
149 |
msgid "Google User ID"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: classes/admin/class-admin.php:
|
153 |
msgid "Google Ads Enhanced Conversions"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: classes/admin/class-admin.php:
|
157 |
msgid "Google Ads Phone Conversion Number"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: classes/admin/class-admin.php:
|
161 |
msgid "Google Ads Phone Conversion Label"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: classes/admin/class-admin.php:
|
165 |
msgid "Cookie Consent Management"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: classes/admin/class-admin.php:
|
169 |
msgid "Google Consent Mode"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: classes/admin/class-admin.php:
|
173 |
msgid "Google Consent Regions"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: classes/admin/class-admin.php:
|
177 |
msgid "Explicit Consent Mode"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: classes/admin/class-admin.php:
|
181 |
msgid "Borlabs Cookie support"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: classes/admin/class-admin.php:
|
185 |
msgid "Cookiebot support"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: classes/admin/class-admin.php:
|
189 |
msgid "Complianz GDPR support"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: classes/admin/class-admin.php:
|
193 |
msgid "Cookie Notice support"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: classes/admin/class-admin.php:
|
197 |
msgid "Cookie Script support"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: classes/admin/class-admin.php:
|
201 |
msgid "GDPR Cookie Compliance support"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: classes/admin/class-admin.php:
|
205 |
msgid "GDPR Cookie Consent support"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: classes/admin/class-admin.php:
|
209 |
msgid "Meta (Facebook) CAPI: token"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: classes/admin/class-admin.php:
|
213 |
msgid "Meta (Facebook) CAPI: process anonymous hits"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: classes/admin/class-admin.php:
|
217 |
msgid "Meta (Facebook) CAPI: send additional visitor identifiers"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: classes/admin/class-admin.php:
|
221 |
msgid "Meta (Facebook) Microdata Tags for Catalogues"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: classes/admin/class-admin.php:
|
225 |
-
#: classes/admin/class-admin.php:
|
226 |
-
#: classes/admin/class-admin.php:
|
227 |
msgid "Dynamic Remarketing"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: classes/admin/class-admin.php:
|
231 |
msgid "Product Identifier"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: classes/admin/class-admin.php:
|
235 |
msgid "Variations output"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: classes/admin/class-admin.php:
|
239 |
msgid "Google Business Vertical"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: classes/admin/class-admin.php:
|
243 |
-
#: classes/admin/class-admin.php:
|
244 |
msgid "Diagnostics"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: classes/admin/class-admin.php:
|
248 |
-
#: classes/admin/class-admin.php:
|
249 |
msgid "Support"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: classes/admin/class-admin.php:
|
253 |
-
#: classes/admin/class-admin.php:
|
254 |
msgid "Author"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: classes/admin/class-admin.php:
|
258 |
msgid ""
|
259 |
"It looks like you are using some sort of ad or script blocker which is blocking the script and CSS files of this plugin.\n"
|
260 |
" In order for the plugin to work properly you need to disable the script blocker."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: classes/admin/class-admin.php:
|
264 |
#: classes/admin/class-notifications.php:96
|
265 |
#: classes/admin/class-notifications.php:146
|
266 |
msgid "Learn more"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: classes/admin/class-admin.php:
|
270 |
msgid "Profit Driven Marketing by SweetCode"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: classes/admin/class-admin.php:
|
274 |
msgid "Visit us here:"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: classes/admin/class-admin.php:
|
278 |
msgid "Payment Gateway Tracking Accuracy Report"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: classes/admin/class-admin.php:
|
282 |
-
#: classes/admin/class-admin.php:
|
283 |
-
#: classes/admin/class-admin.php:
|
284 |
msgid "beta"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: classes/admin/class-admin.php:
|
288 |
msgid "What's this? Follow this link to learn more"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: classes/admin/class-admin.php:
|
292 |
msgid "Available payment gateways"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: classes/admin/class-admin.php:
|
296 |
msgid "id"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: classes/admin/class-admin.php:
|
300 |
msgid "method_title"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: classes/admin/class-admin.php:
|
304 |
msgid "class"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: classes/admin/class-admin.php:
|
308 |
msgid "Purchase confirmation page reached per gateway (active and inactive)"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: classes/admin/class-admin.php:
|
312 |
-
#: classes/admin/class-admin.php:
|
313 |
-
#: classes/admin/class-admin.php:
|
314 |
msgid "The analysis is being generated. Please check back in 5 minutes."
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: classes/admin/class-admin.php:
|
318 |
msgid "Purchase confirmation page reached per gateway (only active), weighted by frequency"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: classes/admin/class-admin.php:
|
322 |
msgid "Automatic Conversion Recovery (ACR)"
|
323 |
msgstr ""
|
324 |
|
325 |
#. translators: The number and percentage of orders that were recovered by the Automatic Conversion Recovery (ACR).
|
326 |
-
#: classes/admin/class-admin.php:
|
327 |
msgid "ACR recovered %1$s (%2$s%%) out of %3$s missing conversions."
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: classes/admin/class-admin.php:
|
331 |
msgid "This feature is only available in the pro version of the plugin. Follow the link to learn more about it:"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: classes/admin/class-admin.php:
|
335 |
msgid "Get the pro version of the Pixel Manager for WooCommerce over here"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: classes/admin/class-admin.php:
|
339 |
msgid "Go Pro"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: classes/admin/class-admin.php:
|
343 |
msgid "Contacting Support"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: classes/admin/class-admin.php:
|
347 |
msgid "Debug Information"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: classes/admin/class-admin.php:
|
351 |
msgid "copy to clipboard"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: classes/admin/class-admin.php:
|
355 |
msgid "Export settings"
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: classes/admin/class-admin.php:
|
359 |
msgid "Export to disk"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: classes/admin/class-admin.php:
|
363 |
msgid "Import settings"
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: classes/admin/class-admin.php:
|
367 |
msgid "Settings imported successfully!"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: classes/admin/class-admin.php:
|
371 |
msgid "Reloading...(in 5 seconds)!"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: classes/admin/class-admin.php:
|
375 |
msgid "There was an error importing that file! Please try again."
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: classes/admin/class-admin.php:
|
379 |
msgid "Translations"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: classes/admin/class-admin.php:
|
383 |
msgid "If you want to participate improving the translations of this plugin into your language, please follow this link:"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: classes/admin/class-admin.php:
|
387 |
msgid "Post a support request in the WordPress support forum here: "
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: classes/admin/class-admin.php:
|
391 |
msgid "Support forum"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: classes/admin/class-admin.php:
|
395 |
msgid "(Never post the debug or other sensitive information to the support forum. Instead send us the information by email.)"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: classes/admin/class-admin.php:
|
399 |
msgid "Or send us an email to the following address: "
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: classes/admin/class-admin.php:
|
403 |
msgid "Send us your support request through the WooCommerce.com dashboard: "
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: classes/admin/class-admin.php:
|
407 |
msgid "More details about the developer of this plugin: "
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: classes/admin/class-admin.php:
|
411 |
msgid "Developer: SweetCode"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: classes/admin/class-admin.php:
|
415 |
msgid "Website: "
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: classes/admin/class-admin.php:
|
419 |
msgid "The Google Analytics Universal property ID looks like this:"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: classes/admin/class-admin.php:
|
423 |
msgid "The Google Analytics 4 measurement ID looks like this:"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: classes/admin/class-admin.php:
|
427 |
msgid "The conversion ID looks similar to this:"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: classes/admin/class-admin.php:
|
431 |
msgid "The purchase conversion label looks similar to this:"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: classes/admin/class-admin.php:
|
435 |
-
#: classes/admin/class-admin.php:
|
436 |
msgid "Requires an active Google Ads Conversion ID"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: classes/admin/class-admin.php:
|
440 |
msgid "The Google Optimize container ID looks like this:"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: classes/admin/class-admin.php:
|
|
|
444 |
msgid "or"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: classes/admin/class-admin.php:
|
448 |
msgid "The Meta (Facebook) pixel ID looks similar to this:"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: classes/admin/class-admin.php:
|
452 |
msgid "The Microsoft Advertising UET tag ID looks similar to this:"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: classes/admin/class-admin.php:
|
456 |
msgid "The Twitter pixel ID looks similar to this:"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: classes/admin/class-admin.php:
|
460 |
msgid "The Pinterest pixel ID looks similar to this:"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: classes/admin/class-admin.php:
|
464 |
msgid "The Snapchat pixel ID looks similar to this:"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: classes/admin/class-admin.php:
|
468 |
msgid "The TikTok pixel ID looks similar to this:"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: classes/admin/class-admin.php:
|
472 |
msgid "The Hotjar site ID looks similar to this:"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: classes/admin/class-admin.php:
|
476 |
-
msgid "
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: classes/admin/class-admin.php:
|
480 |
-
msgid "
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: classes/admin/class-admin.php:
|
|
|
|
|
|
|
|
|
484 |
msgid "This is the order total amount reported back to the paid ads pixels (such as Google Ads, Facebook, etc.)"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: classes/admin/class-admin.php:
|
|
|
|
|
|
|
|
|
|
|
488 |
msgid "open the documentation"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: classes/admin/class-admin.php:
|
492 |
msgid "Enable Google consent mode with standard settings"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: classes/admin/class-admin.php:
|
496 |
msgid "If no region is set, then the restrictions are enabled for all regions. If you specify one or more regions, then the restrictions only apply for the specified regions."
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: classes/admin/class-admin.php:
|
500 |
msgid "Google Analytics Enhanced E-Commerce is "
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: classes/admin/class-admin.php:
|
504 |
msgid "Google Analytics 4 activation required"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: classes/admin/class-admin.php:
|
508 |
msgid "If enabled, purchase and refund events will be sent to Google through the measurement protocol for increased accuracy."
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: classes/admin/class-admin.php:
|
512 |
msgid "Enable Google Analytics enhanced link attribution"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: classes/admin/class-admin.php:
|
516 |
-
#: classes/admin/class-admin.php:
|
517 |
msgid "You need to activate at least Google Analytics UA or Google Analytics 4"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: classes/admin/class-admin.php:
|
521 |
msgid "Enable Google user ID"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: classes/admin/class-admin.php:
|
525 |
msgid "Enable Google Ads Enhanced Conversions"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: classes/admin/class-admin.php:
|
529 |
msgid "You need to activate Google Ads"
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: classes/admin/class-admin.php:
|
533 |
msgid "The Google Ads phone conversion number must be in the same format as on the website."
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: classes/admin/class-admin.php:
|
537 |
msgid "Borlabs Cookie detected. Automatic support is:"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: classes/admin/class-admin.php:
|
541 |
msgid "Cookiebot detected. Automatic support is:"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: classes/admin/class-admin.php:
|
545 |
msgid "Complianz GDPR detected. Automatic support is:"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: classes/admin/class-admin.php:
|
549 |
msgid "Cookie Notice (by hu-manity.co) detected. Automatic support is:"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: classes/admin/class-admin.php:
|
553 |
msgid "Cookie Script (by cookie-script.com) detected. Automatic support is:"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: classes/admin/class-admin.php:
|
557 |
msgid "GDPR Cookie Compliance (by Moove Agency) detected. Automatic support is:"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: classes/admin/class-admin.php:
|
561 |
msgid "GDPR Cookie Consent (by WebToffee) detected. Automatic support is:"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: classes/admin/class-admin.php:
|
565 |
msgid "Enable Explicit Consent Mode"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: classes/admin/class-admin.php:
|
569 |
msgid "Only activate the Explicit Consent Mode if you are also using a Cookie Management Platform (a cookie banner) that is compatible with this plugin. Find a list of compatible plugins in the documentation."
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: classes/admin/class-admin.php:
|
573 |
-
#: classes/admin/class-admin.php:
|
574 |
-
#: classes/admin/class-admin.php:
|
575 |
-
#: classes/admin/class-admin.php:
|
576 |
msgid "You need to activate the Meta (Facebook) pixel"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: classes/admin/class-admin.php:
|
580 |
msgid "Send CAPI hits for anonymous visitors who likely have blocked the Meta (Facebook) pixel."
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: classes/admin/class-admin.php:
|
584 |
msgid "Include additional visitor's identifiers, such as IP address, email and shop ID in the CAPI hit."
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: classes/admin/class-admin.php:
|
588 |
msgid "Enable Meta (Facebook) product microdata output"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: classes/admin/class-admin.php:
|
592 |
msgid "Only disable order duplication prevention for testing. Remember to re-enable the setting once done."
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: classes/admin/class-admin.php:
|
596 |
msgid "Enable the maximum compatibility mode"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: classes/admin/class-admin.php:
|
600 |
msgid "Automatic Conversion Recovery (ACR) is "
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: classes/admin/class-admin.php:
|
|
|
|
|
|
|
|
|
604 |
msgid "Advanced order duplication prevention is "
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: classes/admin/class-admin.php:
|
608 |
msgid "Basic order duplication prevention is "
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: classes/admin/class-admin.php:
|
612 |
msgid "Enable dynamic remarketing audience collection"
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: classes/admin/class-admin.php:
|
616 |
msgid "You need to choose the correct product identifier setting in order to match the product identifiers in the product feeds."
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: classes/admin/class-admin.php:
|
620 |
msgid "Enable variations output"
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: classes/admin/class-admin.php:
|
624 |
msgid "In order for this to work you need to upload your product feed including product variations and the item_group_id. Disable it, if you choose only to upload the parent product for variable products."
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: classes/admin/class-admin.php:
|
628 |
msgid "Retail"
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: classes/admin/class-admin.php:
|
632 |
msgid "Education"
|
633 |
msgstr ""
|
634 |
|
635 |
-
#: classes/admin/class-admin.php:
|
636 |
msgid "Hotels and rentals"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: classes/admin/class-admin.php:
|
640 |
msgid "Jobs"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: classes/admin/class-admin.php:
|
644 |
msgid "Local deals"
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: classes/admin/class-admin.php:
|
648 |
msgid "Real estate"
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: classes/admin/class-admin.php:
|
652 |
msgid "Custom"
|
653 |
msgstr ""
|
654 |
|
655 |
-
#: classes/admin/class-admin.php:
|
656 |
msgid "ID of your Google Merchant Center account. It looks like this: 12345678"
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: classes/admin/class-admin.php:
|
660 |
msgid "post ID (default)"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: classes/admin/class-admin.php:
|
664 |
msgid "SKU"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: classes/admin/class-admin.php:
|
668 |
msgid "ID for the WooCommerce Google Product Feed. Outputs the post ID with woocommerce_gpf_ prefix *"
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: classes/admin/class-admin.php:
|
672 |
msgid "ID for the WooCommerce Google Listings & Ads Plugin. Outputs the post ID with gla_ prefix **"
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: classes/admin/class-admin.php:
|
676 |
msgid "Choose a product identifier."
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: classes/admin/class-admin.php:
|
680 |
msgid "* This is for users of the WooCommerce Google Product Feed Plugin"
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: classes/admin/class-admin.php:
|
684 |
msgid "** This is for users of the WooCommerce Google Listings & Ads Plugin"
|
685 |
msgstr ""
|
686 |
|
687 |
-
#: classes/admin/class-admin.php:
|
688 |
-
#: classes/admin/class-admin.php:
|
689 |
msgid "active"
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: classes/admin/class-admin.php:
|
693 |
-
#: classes/admin/class-admin.php:
|
694 |
msgid "inactive"
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: classes/admin/class-admin.php:
|
698 |
-
#: classes/admin/class-admin.php:
|
699 |
msgid "partially active"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: classes/admin/class-admin.php:
|
703 |
msgid "Pro Feature"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: classes/admin/class-admin.php:
|
707 |
msgid "You have entered an invalid Google Analytics Universal property ID."
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: classes/admin/class-admin.php:
|
711 |
msgid "You have entered an invalid Google Analytics 4 measurement ID."
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: classes/admin/class-admin.php:
|
715 |
msgid "You have entered an invalid Google Analytics 4 API key."
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: classes/admin/class-admin.php:
|
719 |
msgid "You have entered an invalid conversion ID. It only contains 8 to 10 digits."
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: classes/admin/class-admin.php:
|
723 |
-
#: classes/admin/class-admin.php:
|
724 |
msgid "You have entered an invalid conversion label."
|
725 |
msgstr ""
|
726 |
|
727 |
-
#: classes/admin/class-admin.php:
|
728 |
msgid "You have entered an invalid merchant ID. It only contains 6 to 12 digits."
|
729 |
msgstr ""
|
730 |
|
731 |
-
#: classes/admin/class-admin.php:
|
732 |
msgid "You have entered an invalid Google Optimize container ID."
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: classes/admin/class-admin.php:
|
736 |
msgid "You have entered an invalid Meta (Facebook) pixel ID. It only contains 14 to 16 digits."
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: classes/admin/class-admin.php:
|
740 |
msgid "You have entered an invalid Meta (Facebook) CAPI token."
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: classes/admin/class-admin.php:
|
744 |
msgid "You have entered an invalid Bing Ads UET tag ID. It only contains 7 to 9 digits."
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: classes/admin/class-admin.php:
|
748 |
msgid "You have entered an invalid Twitter pixel ID. It only contains 5 to 7 lowercase letters and numbers."
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: classes/admin/class-admin.php:
|
752 |
msgid "You have entered an invalid Pinterest pixel ID. It only contains 13 digits."
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: classes/admin/class-admin.php:
|
756 |
msgid "You have entered an invalid Snapchat pixel ID."
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: classes/admin/class-admin.php:
|
760 |
msgid "You have entered an invalid TikTok pixel ID."
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: classes/admin/class-admin.php:
|
764 |
msgid "You have entered an invalid Hotjar site ID. It only contains 6 to 9 digits."
|
765 |
msgstr ""
|
766 |
|
@@ -852,14 +870,14 @@ msgstr ""
|
|
852 |
msgid "Conversion pixels not fired yet"
|
853 |
msgstr ""
|
854 |
|
855 |
-
#: wgact.php:
|
856 |
msgid "Pixel Manager for WooCommerce error"
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: wgact.php:
|
860 |
msgid "Your environment doesn't meet all the system requirements listed below."
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: wgact.php:
|
864 |
msgid "The WooCommerce plugin needs to be activated"
|
865 |
msgstr ""
|
2 |
# This file is distributed under the GNU General Public License v3.0.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Pixel Manager for WooCommerce 1.21.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-09-12T07:44:52+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: woocommerce-google-adwords-conversion-tracking-tag\n"
|
34 |
msgid "https://sweetcode.com"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: classes/admin/class-admin.php:278
|
38 |
+
#: classes/admin/class-admin.php:279
|
39 |
+
#: wgact.php:255
|
40 |
+
#: wgact.php:256
|
41 |
msgid "Pixel Manager"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: classes/admin/class-admin.php:319
|
45 |
msgid "Main"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: classes/admin/class-admin.php:340
|
49 |
msgid "Google"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: classes/admin/class-admin.php:363
|
53 |
msgid "Google Ads Conversion ID"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: classes/admin/class-admin.php:375
|
57 |
msgid "Google Ads Purchase Conversion Label"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: classes/admin/class-admin.php:386
|
61 |
msgid "Google Analytics UA"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: classes/admin/class-admin.php:397
|
65 |
msgid "Google Analytics 4"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: classes/admin/class-admin.php:408
|
69 |
msgid "Google Optimize"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: classes/admin/class-admin.php:420
|
73 |
msgid "Meta (Facebook)"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: classes/admin/class-admin.php:443
|
77 |
msgid "Meta (Facebook) pixel ID"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: classes/admin/class-admin.php:455
|
81 |
msgid "more pixels"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: classes/admin/class-admin.php:480
|
85 |
msgid "Microsoft Advertising UET tag ID"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: classes/admin/class-admin.php:492
|
89 |
msgid "Twitter pixel ID"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: classes/admin/class-admin.php:504
|
93 |
msgid "Pinterest pixel ID"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: classes/admin/class-admin.php:516
|
97 |
msgid "Snapchat pixel ID"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: classes/admin/class-admin.php:528
|
101 |
msgid "TikTok pixel ID"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: classes/admin/class-admin.php:541
|
105 |
msgid "Hotjar site ID"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: classes/admin/class-admin.php:553
|
109 |
msgid "Advanced"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: classes/admin/class-admin.php:604
|
113 |
msgid "Order Total Logic"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: classes/admin/class-admin.php:616
|
117 |
msgid "Order Duplication Prevention"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: classes/admin/class-admin.php:628
|
121 |
msgid "Maximum Compatibility Mode"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: classes/admin/class-admin.php:642
|
125 |
msgid "Disable Tracking for User Roles"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: classes/admin/class-admin.php:654
|
129 |
msgid "ACR"
|
130 |
msgstr ""
|
131 |
|
132 |
#: classes/admin/class-admin.php:667
|
133 |
+
msgid "Order List Info"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: classes/admin/class-admin.php:700
|
137 |
msgid "Conversion Cart Data"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: classes/admin/class-admin.php:713
|
141 |
msgid "Enhanced E-Commerce"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: classes/admin/class-admin.php:725
|
145 |
msgid "GA 4 API secret"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: classes/admin/class-admin.php:738
|
149 |
msgid "Enhanced Link Attribution"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: classes/admin/class-admin.php:751
|
153 |
msgid "Google User ID"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: classes/admin/class-admin.php:763
|
157 |
msgid "Google Ads Enhanced Conversions"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: classes/admin/class-admin.php:777
|
161 |
msgid "Google Ads Phone Conversion Number"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: classes/admin/class-admin.php:789
|
165 |
msgid "Google Ads Phone Conversion Label"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: classes/admin/class-admin.php:802
|
169 |
msgid "Cookie Consent Management"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: classes/admin/class-admin.php:825
|
173 |
msgid "Google Consent Mode"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: classes/admin/class-admin.php:837
|
177 |
msgid "Google Consent Regions"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: classes/admin/class-admin.php:849
|
181 |
msgid "Explicit Consent Mode"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: classes/admin/class-admin.php:862
|
185 |
msgid "Borlabs Cookie support"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: classes/admin/class-admin.php:876
|
189 |
msgid "Cookiebot support"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: classes/admin/class-admin.php:890
|
193 |
msgid "Complianz GDPR support"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: classes/admin/class-admin.php:904
|
197 |
msgid "Cookie Notice support"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: classes/admin/class-admin.php:918
|
201 |
msgid "Cookie Script support"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: classes/admin/class-admin.php:932
|
205 |
msgid "GDPR Cookie Compliance support"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: classes/admin/class-admin.php:946
|
209 |
msgid "GDPR Cookie Consent support"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: classes/admin/class-admin.php:979
|
213 |
msgid "Meta (Facebook) CAPI: token"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: classes/admin/class-admin.php:991
|
217 |
msgid "Meta (Facebook) CAPI: process anonymous hits"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: classes/admin/class-admin.php:1003
|
221 |
msgid "Meta (Facebook) CAPI: send additional visitor identifiers"
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: classes/admin/class-admin.php:1015
|
225 |
msgid "Meta (Facebook) Microdata Tags for Catalogues"
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: classes/admin/class-admin.php:1027
|
229 |
+
#: classes/admin/class-admin.php:1040
|
230 |
+
#: classes/admin/class-admin.php:1051
|
231 |
msgid "Dynamic Remarketing"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: classes/admin/class-admin.php:1063
|
235 |
msgid "Product Identifier"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: classes/admin/class-admin.php:1075
|
239 |
msgid "Variations output"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: classes/admin/class-admin.php:1088
|
243 |
msgid "Google Business Vertical"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: classes/admin/class-admin.php:1101
|
247 |
+
#: classes/admin/class-admin.php:1110
|
248 |
msgid "Diagnostics"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: classes/admin/class-admin.php:1118
|
252 |
+
#: classes/admin/class-admin.php:1127
|
253 |
msgid "Support"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: classes/admin/class-admin.php:1135
|
257 |
+
#: classes/admin/class-admin.php:1145
|
258 |
msgid "Author"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: classes/admin/class-admin.php:1192
|
262 |
msgid ""
|
263 |
"It looks like you are using some sort of ad or script blocker which is blocking the script and CSS files of this plugin.\n"
|
264 |
" In order for the plugin to work properly you need to disable the script blocker."
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: classes/admin/class-admin.php:1199
|
268 |
#: classes/admin/class-notifications.php:96
|
269 |
#: classes/admin/class-notifications.php:146
|
270 |
msgid "Learn more"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: classes/admin/class-admin.php:1243
|
274 |
msgid "Profit Driven Marketing by SweetCode"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: classes/admin/class-admin.php:1268
|
278 |
msgid "Visit us here:"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: classes/admin/class-admin.php:1314
|
282 |
msgid "Payment Gateway Tracking Accuracy Report"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: classes/admin/class-admin.php:1315
|
286 |
+
#: classes/admin/class-admin.php:2794
|
287 |
+
#: classes/admin/class-admin.php:2802
|
288 |
msgid "beta"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: classes/admin/class-admin.php:1319
|
292 |
msgid "What's this? Follow this link to learn more"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: classes/admin/class-admin.php:1327
|
296 |
msgid "Available payment gateways"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: classes/admin/class-admin.php:1334
|
300 |
msgid "id"
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: classes/admin/class-admin.php:1335
|
304 |
msgid "method_title"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#: classes/admin/class-admin.php:1336
|
308 |
msgid "class"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: classes/admin/class-admin.php:1354
|
312 |
msgid "Purchase confirmation page reached per gateway (active and inactive)"
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: classes/admin/class-admin.php:1362
|
316 |
+
#: classes/admin/class-admin.php:1411
|
317 |
+
#: classes/admin/class-admin.php:1486
|
318 |
msgid "The analysis is being generated. Please check back in 5 minutes."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: classes/admin/class-admin.php:1403
|
322 |
msgid "Purchase confirmation page reached per gateway (only active), weighted by frequency"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: classes/admin/class-admin.php:1474
|
326 |
msgid "Automatic Conversion Recovery (ACR)"
|
327 |
msgstr ""
|
328 |
|
329 |
#. translators: The number and percentage of orders that were recovered by the Automatic Conversion Recovery (ACR).
|
330 |
+
#: classes/admin/class-admin.php:1562
|
331 |
msgid "ACR recovered %1$s (%2$s%%) out of %3$s missing conversions."
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: classes/admin/class-admin.php:1580
|
335 |
msgid "This feature is only available in the pro version of the plugin. Follow the link to learn more about it:"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: classes/admin/class-admin.php:1582
|
339 |
msgid "Get the pro version of the Pixel Manager for WooCommerce over here"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: classes/admin/class-admin.php:1584
|
343 |
msgid "Go Pro"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: classes/admin/class-admin.php:1613
|
347 |
msgid "Contacting Support"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: classes/admin/class-admin.php:1635
|
351 |
msgid "Debug Information"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: classes/admin/class-admin.php:1644
|
355 |
msgid "copy to clipboard"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: classes/admin/class-admin.php:1654
|
359 |
msgid "Export settings"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: classes/admin/class-admin.php:1666
|
363 |
msgid "Export to disk"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: classes/admin/class-admin.php:1675
|
367 |
msgid "Import settings"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: classes/admin/class-admin.php:1680
|
371 |
msgid "Settings imported successfully!"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: classes/admin/class-admin.php:1683
|
375 |
msgid "Reloading...(in 5 seconds)!"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: classes/admin/class-admin.php:1689
|
379 |
msgid "There was an error importing that file! Please try again."
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: classes/admin/class-admin.php:1706
|
383 |
msgid "Translations"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: classes/admin/class-admin.php:1707
|
387 |
msgid "If you want to participate improving the translations of this plugin into your language, please follow this link:"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: classes/admin/class-admin.php:1725
|
391 |
msgid "Post a support request in the WordPress support forum here: "
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: classes/admin/class-admin.php:1728
|
395 |
msgid "Support forum"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: classes/admin/class-admin.php:1732
|
399 |
msgid "(Never post the debug or other sensitive information to the support forum. Instead send us the information by email.)"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: classes/admin/class-admin.php:1735
|
403 |
msgid "Or send us an email to the following address: "
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: classes/admin/class-admin.php:1751
|
407 |
msgid "Send us your support request through the WooCommerce.com dashboard: "
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: classes/admin/class-admin.php:1765
|
411 |
msgid "More details about the developer of this plugin: "
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: classes/admin/class-admin.php:1768
|
415 |
msgid "Developer: SweetCode"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: classes/admin/class-admin.php:1770
|
419 |
msgid "Website: "
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: classes/admin/class-admin.php:1793
|
423 |
msgid "The Google Analytics Universal property ID looks like this:"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: classes/admin/class-admin.php:1809
|
427 |
msgid "The Google Analytics 4 measurement ID looks like this:"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: classes/admin/class-admin.php:1825
|
431 |
msgid "The conversion ID looks similar to this:"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: classes/admin/class-admin.php:1841
|
435 |
msgid "The purchase conversion label looks similar to this:"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: classes/admin/class-admin.php:1845
|
439 |
+
#: classes/admin/class-admin.php:2616
|
440 |
msgid "Requires an active Google Ads Conversion ID"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: classes/admin/class-admin.php:1863
|
444 |
msgid "The Google Optimize container ID looks like this:"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: classes/admin/class-admin.php:1865
|
448 |
+
#: classes/admin/class-admin.php:2034
|
449 |
msgid "or"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: classes/admin/class-admin.php:1881
|
453 |
msgid "The Meta (Facebook) pixel ID looks similar to this:"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: classes/admin/class-admin.php:1899
|
457 |
msgid "The Microsoft Advertising UET tag ID looks similar to this:"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: classes/admin/class-admin.php:1918
|
461 |
msgid "The Twitter pixel ID looks similar to this:"
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: classes/admin/class-admin.php:1937
|
465 |
msgid "The Pinterest pixel ID looks similar to this:"
|
466 |
msgstr ""
|
467 |
|
468 |
+
#: classes/admin/class-admin.php:1956
|
469 |
msgid "The Snapchat pixel ID looks similar to this:"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: classes/admin/class-admin.php:1977
|
473 |
msgid "The TikTok pixel ID looks similar to this:"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: classes/admin/class-admin.php:1989
|
477 |
msgid "The Hotjar site ID looks similar to this:"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: classes/admin/class-admin.php:1999
|
481 |
+
msgid "Order Subtotal: Doesn't include tax and shipping (default)"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: classes/admin/class-admin.php:2007
|
485 |
+
msgid "Order Total: Includes tax and shipping"
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: classes/admin/class-admin.php:2021
|
489 |
+
msgid "Profit Margin: Only reports the profit margin. Excludes tax, shipping, and where possible, gateway fees."
|
490 |
+
msgstr ""
|
491 |
+
|
492 |
+
#: classes/admin/class-admin.php:2027
|
493 |
msgid "This is the order total amount reported back to the paid ads pixels (such as Google Ads, Facebook, etc.)"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: classes/admin/class-admin.php:2031
|
497 |
+
msgid "To use the Profit Margin setting you will need to install one of the following two Cost of Goods plugins:"
|
498 |
+
msgstr ""
|
499 |
+
|
500 |
+
#: classes/admin/class-admin.php:2058
|
501 |
+
#: classes/admin/class-admin.php:2068
|
502 |
msgid "open the documentation"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: classes/admin/class-admin.php:2088
|
506 |
msgid "Enable Google consent mode with standard settings"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: classes/admin/class-admin.php:2126
|
510 |
msgid "If no region is set, then the restrictions are enabled for all regions. If you specify one or more regions, then the restrictions only apply for the specified regions."
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: classes/admin/class-admin.php:2134
|
514 |
msgid "Google Analytics Enhanced E-Commerce is "
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: classes/admin/class-admin.php:2157
|
518 |
msgid "Google Analytics 4 activation required"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: classes/admin/class-admin.php:2160
|
522 |
msgid "If enabled, purchase and refund events will be sent to Google through the measurement protocol for increased accuracy."
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: classes/admin/class-admin.php:2175
|
526 |
msgid "Enable Google Analytics enhanced link attribution"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: classes/admin/class-admin.php:2191
|
530 |
+
#: classes/admin/class-admin.php:2221
|
531 |
msgid "You need to activate at least Google Analytics UA or Google Analytics 4"
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: classes/admin/class-admin.php:2210
|
535 |
msgid "Enable Google user ID"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: classes/admin/class-admin.php:2240
|
539 |
msgid "Enable Google Ads Enhanced Conversions"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: classes/admin/class-admin.php:2251
|
543 |
msgid "You need to activate Google Ads"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: classes/admin/class-admin.php:2271
|
547 |
msgid "The Google Ads phone conversion number must be in the same format as on the website."
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: classes/admin/class-admin.php:2293
|
551 |
msgid "Borlabs Cookie detected. Automatic support is:"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: classes/admin/class-admin.php:2299
|
555 |
msgid "Cookiebot detected. Automatic support is:"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: classes/admin/class-admin.php:2305
|
559 |
msgid "Complianz GDPR detected. Automatic support is:"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: classes/admin/class-admin.php:2311
|
563 |
msgid "Cookie Notice (by hu-manity.co) detected. Automatic support is:"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: classes/admin/class-admin.php:2317
|
567 |
msgid "Cookie Script (by cookie-script.com) detected. Automatic support is:"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: classes/admin/class-admin.php:2323
|
571 |
msgid "GDPR Cookie Compliance (by Moove Agency) detected. Automatic support is:"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: classes/admin/class-admin.php:2329
|
575 |
msgid "GDPR Cookie Consent (by WebToffee) detected. Automatic support is:"
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: classes/admin/class-admin.php:2348
|
579 |
msgid "Enable Explicit Consent Mode"
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: classes/admin/class-admin.php:2357
|
583 |
msgid "Only activate the Explicit Consent Mode if you are also using a Cookie Management Platform (a cookie banner) that is compatible with this plugin. Find a list of compatible plugins in the documentation."
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: classes/admin/class-admin.php:2376
|
587 |
+
#: classes/admin/class-admin.php:2409
|
588 |
+
#: classes/admin/class-admin.php:2438
|
589 |
+
#: classes/admin/class-admin.php:2466
|
590 |
msgid "You need to activate the Meta (Facebook) pixel"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: classes/admin/class-admin.php:2400
|
594 |
msgid "Send CAPI hits for anonymous visitors who likely have blocked the Meta (Facebook) pixel."
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: classes/admin/class-admin.php:2429
|
598 |
msgid "Include additional visitor's identifiers, such as IP address, email and shop ID in the CAPI hit."
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: classes/admin/class-admin.php:2457
|
602 |
msgid "Enable Meta (Facebook) product microdata output"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: classes/admin/class-admin.php:2493
|
606 |
msgid "Only disable order duplication prevention for testing. Remember to re-enable the setting once done."
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: classes/admin/class-admin.php:2510
|
610 |
msgid "Enable the maximum compatibility mode"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: classes/admin/class-admin.php:2545
|
614 |
msgid "Automatic Conversion Recovery (ACR) is "
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: classes/admin/class-admin.php:2563
|
618 |
+
msgid "Display PMW related information on the order list page"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: classes/admin/class-admin.php:2575
|
622 |
msgid "Advanced order duplication prevention is "
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: classes/admin/class-admin.php:2577
|
626 |
msgid "Basic order duplication prevention is "
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: classes/admin/class-admin.php:2601
|
630 |
msgid "Enable dynamic remarketing audience collection"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: classes/admin/class-admin.php:2622
|
634 |
msgid "You need to choose the correct product identifier setting in order to match the product identifiers in the product feeds."
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: classes/admin/class-admin.php:2640
|
638 |
msgid "Enable variations output"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: classes/admin/class-admin.php:2651
|
642 |
msgid "In order for this to work you need to upload your product feed including product variations and the item_group_id. Disable it, if you choose only to upload the parent product for variable products."
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: classes/admin/class-admin.php:2666
|
646 |
msgid "Retail"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: classes/admin/class-admin.php:2676
|
650 |
msgid "Education"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: classes/admin/class-admin.php:2686
|
654 |
msgid "Hotels and rentals"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: classes/admin/class-admin.php:2696
|
658 |
msgid "Jobs"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: classes/admin/class-admin.php:2706
|
662 |
msgid "Local deals"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: classes/admin/class-admin.php:2716
|
666 |
msgid "Real estate"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: classes/admin/class-admin.php:2726
|
670 |
msgid "Custom"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: classes/admin/class-admin.php:2745
|
674 |
msgid "ID of your Google Merchant Center account. It looks like this: 12345678"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: classes/admin/class-admin.php:2754
|
678 |
msgid "post ID (default)"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: classes/admin/class-admin.php:2760
|
682 |
msgid "SKU"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: classes/admin/class-admin.php:2767
|
686 |
msgid "ID for the WooCommerce Google Product Feed. Outputs the post ID with woocommerce_gpf_ prefix *"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: classes/admin/class-admin.php:2774
|
690 |
msgid "ID for the WooCommerce Google Listings & Ads Plugin. Outputs the post ID with gla_ prefix **"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: classes/admin/class-admin.php:2778
|
694 |
msgid "Choose a product identifier."
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: classes/admin/class-admin.php:2781
|
698 |
msgid "* This is for users of the WooCommerce Google Product Feed Plugin"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: classes/admin/class-admin.php:2785
|
702 |
msgid "** This is for users of the WooCommerce Google Listings & Ads Plugin"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: classes/admin/class-admin.php:2808
|
706 |
+
#: classes/admin/class-admin.php:2813
|
707 |
msgid "active"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: classes/admin/class-admin.php:2818
|
711 |
+
#: classes/admin/class-admin.php:2823
|
712 |
msgid "inactive"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: classes/admin/class-admin.php:2828
|
716 |
+
#: classes/admin/class-admin.php:2833
|
717 |
msgid "partially active"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: classes/admin/class-admin.php:2844
|
721 |
msgid "Pro Feature"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: classes/admin/class-admin.php:2887
|
725 |
msgid "You have entered an invalid Google Analytics Universal property ID."
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: classes/admin/class-admin.php:2895
|
729 |
msgid "You have entered an invalid Google Analytics 4 measurement ID."
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: classes/admin/class-admin.php:2903
|
733 |
msgid "You have entered an invalid Google Analytics 4 API key."
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: classes/admin/class-admin.php:2911
|
737 |
msgid "You have entered an invalid conversion ID. It only contains 8 to 10 digits."
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: classes/admin/class-admin.php:2919
|
741 |
+
#: classes/admin/class-admin.php:2927
|
742 |
msgid "You have entered an invalid conversion label."
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: classes/admin/class-admin.php:2935
|
746 |
msgid "You have entered an invalid merchant ID. It only contains 6 to 12 digits."
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: classes/admin/class-admin.php:2943
|
750 |
msgid "You have entered an invalid Google Optimize container ID."
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: classes/admin/class-admin.php:2951
|
754 |
msgid "You have entered an invalid Meta (Facebook) pixel ID. It only contains 14 to 16 digits."
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: classes/admin/class-admin.php:2959
|
758 |
msgid "You have entered an invalid Meta (Facebook) CAPI token."
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: classes/admin/class-admin.php:2967
|
762 |
msgid "You have entered an invalid Bing Ads UET tag ID. It only contains 7 to 9 digits."
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: classes/admin/class-admin.php:2975
|
766 |
msgid "You have entered an invalid Twitter pixel ID. It only contains 5 to 7 lowercase letters and numbers."
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: classes/admin/class-admin.php:2983
|
770 |
msgid "You have entered an invalid Pinterest pixel ID. It only contains 13 digits."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: classes/admin/class-admin.php:2991
|
774 |
msgid "You have entered an invalid Snapchat pixel ID."
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: classes/admin/class-admin.php:2999
|
778 |
msgid "You have entered an invalid TikTok pixel ID."
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: classes/admin/class-admin.php:3007
|
782 |
msgid "You have entered an invalid Hotjar site ID. It only contains 6 to 9 digits."
|
783 |
msgstr ""
|
784 |
|
870 |
msgid "Conversion pixels not fired yet"
|
871 |
msgstr ""
|
872 |
|
873 |
+
#: wgact.php:271
|
874 |
msgid "Pixel Manager for WooCommerce error"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: wgact.php:273
|
878 |
msgid "Your environment doesn't meet all the system requirements listed below."
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: wgact.php:277
|
882 |
msgid "The WooCommerce plugin needs to be activated"
|
883 |
msgstr ""
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: woocommerce, google analytics, google ads, facebook, conversion tracking,
|
|
4 |
Requires at least: 3.7
|
5 |
Tested up to: 6.0
|
6 |
Requires PHP: 7.3
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -18,17 +18,17 @@ The Pixel Manager is the most complete and flexible solution for implementing pi
|
|
18 |
|
19 |
The Pixel Managers advanced architecture has numerous advantages over other solutions:
|
20 |
|
21 |
-
- Its transpiled and optimized JavaScript library ensures compatibility with more than 98% of all browsers that visit your website.
|
22 |
- Data privacy features allow you to achieve the highest level of GDPR (and other privacy) compliance.
|
23 |
- It is very easy to use and easy to understand.
|
24 |
- Filters allow you to modify the output very flexibly and customize it perfectly to your needs.
|
25 |
- Standardized output to all pixels allows a much better apples-to-apples comparison between different providers.
|
26 |
- Payment gateway accuracy report that shows how many conversions are lost due to redirect issues.
|
27 |
- Automatic Conversion Recovery (ACR) feature allows you to recover lost conversions due to redirect issues.
|
|
|
28 |
|
29 |
While the setup is as simple as it can get, the pixel engine under the hood is very powerful. It tracks all e-commerce events and implements all advanced pixel features like Meta CAPI (Facebook CAPI) (Pro version), Google Analytics Enhanced E-Commerce, Google Shopping Cart Item Tracking, and much more. For advanced users, the plugin offers filters that allow them to tweak the output flexibly and fine-tune the behavior for each shop.
|
30 |
|
31 |
-
<strong>What
|
32 |
|
33 |
The unparalleled and high tracking accuracy, the simple user interface, and constant innovation make Pixel Manager the best solution for e-commerce tracking.
|
34 |
|
@@ -107,8 +107,10 @@ Are you interested in buying the [Pro version](https://sweetcode.com)? Come and
|
|
107 |
The plugin supports and works with the following third-party plugins.
|
108 |
|
109 |
* CartFlows
|
|
|
110 |
* WooCommerce Brands
|
111 |
* WooCommerce Composite Products
|
|
|
112 |
* WooCommerce Deposits
|
113 |
* WooCommerce Google Product Feed
|
114 |
* WooCommerce Subscriptions
|
@@ -209,6 +211,16 @@ You can send the link to the front page of your shop too if you think it would b
|
|
209 |
|
210 |
== Changelog ==
|
211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
= 1.20.2 = 31.08.2022
|
213 |
|
214 |
* Fix: Fixed division by zero if WPML multi currency is enabled and a product has a price of zero or has no price set.
|
4 |
Requires at least: 3.7
|
5 |
Tested up to: 6.0
|
6 |
Requires PHP: 7.3
|
7 |
+
Stable tag: 1.21.0
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
18 |
|
19 |
The Pixel Managers advanced architecture has numerous advantages over other solutions:
|
20 |
|
|
|
21 |
- Data privacy features allow you to achieve the highest level of GDPR (and other privacy) compliance.
|
22 |
- It is very easy to use and easy to understand.
|
23 |
- Filters allow you to modify the output very flexibly and customize it perfectly to your needs.
|
24 |
- Standardized output to all pixels allows a much better apples-to-apples comparison between different providers.
|
25 |
- Payment gateway accuracy report that shows how many conversions are lost due to redirect issues.
|
26 |
- Automatic Conversion Recovery (ACR) feature allows you to recover lost conversions due to redirect issues.
|
27 |
+
- Its transpiled and optimized JavaScript library ensures compatibility with more than 98% of all browsers that visit your website.
|
28 |
|
29 |
While the setup is as simple as it can get, the pixel engine under the hood is very powerful. It tracks all e-commerce events and implements all advanced pixel features like Meta CAPI (Facebook CAPI) (Pro version), Google Analytics Enhanced E-Commerce, Google Shopping Cart Item Tracking, and much more. For advanced users, the plugin offers filters that allow them to tweak the output flexibly and fine-tune the behavior for each shop.
|
30 |
|
31 |
+
<strong>What makes the Pixle Manager unique?</strong>
|
32 |
|
33 |
The unparalleled and high tracking accuracy, the simple user interface, and constant innovation make Pixel Manager the best solution for e-commerce tracking.
|
34 |
|
107 |
The plugin supports and works with the following third-party plugins.
|
108 |
|
109 |
* CartFlows
|
110 |
+
* Cost of Goods for WooCommerce (WPFactory)
|
111 |
* WooCommerce Brands
|
112 |
* WooCommerce Composite Products
|
113 |
+
* WooCommerce Cost of Goods (SkyVerge)
|
114 |
* WooCommerce Deposits
|
115 |
* WooCommerce Google Product Feed
|
116 |
* WooCommerce Subscriptions
|
211 |
|
212 |
== Changelog ==
|
213 |
|
214 |
+
= 1.21.0 = 12.09.2022
|
215 |
+
|
216 |
+
|
217 |
+
* Tweak: Added option to disable the PMW order list info output.
|
218 |
+
* Tweak: Updated default settings.
|
219 |
+
* Tweak: Added doc link for order list info.
|
220 |
+
* Tweak: Refactored running PMW tracking accuracy analysis report to better work with action scheduler to avoid running into its initialization bug
|
221 |
+
* Fix: Fixed options validation when importing the settings.
|
222 |
+
* Fix: Added safeguard to not fire the conversion pixels on the /order-pay/ page.
|
223 |
+
|
224 |
= 1.20.2 = 31.08.2022
|
225 |
|
226 |
* Fix: Fixed division by zero if WPML multi currency is enabled and a product has a price of zero or has no price set.
|
wgact.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
* Developer URI: https://sweetcode.com
|
11 |
* Text Domain: woocommerce-google-adwords-conversion-tracking-tag
|
12 |
* Domain path: /languages
|
13 |
-
* * Version: 1.
|
14 |
*
|
15 |
* WC requires at least: 3.7
|
16 |
* WC tested up to: 6.8
|
@@ -19,7 +19,7 @@
|
|
19 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
20 |
*
|
21 |
**/
|
22 |
-
const WPM_CURRENT_VERSION = '1.
|
23 |
// TODO add option checkbox on uninstall and ask if user wants to delete options from db
|
24 |
|
25 |
if ( !defined( 'ABSPATH' ) ) {
|
@@ -31,7 +31,6 @@ use WCPM\Classes\Admin\Admin ;
|
|
31 |
use WCPM\Classes\Admin\Debug_Info ;
|
32 |
use WCPM\Classes\Admin\Environment_Check ;
|
33 |
use WCPM\Classes\Admin\Notification_Handlers ;
|
34 |
-
use WCPM\Classes\Admin\Notifications ;
|
35 |
use WCPM\Classes\Admin\Order_Columns ;
|
36 |
use WCPM\Classes\Db_Upgrade ;
|
37 |
use WCPM\Classes\Default_Options ;
|
@@ -155,6 +154,12 @@ if ( function_exists( 'wpm_fs' ) ) {
|
|
155 |
|
156 |
if ( $this->is_woocommerce_active() ) {
|
157 |
add_action( 'woocommerce_init', [ $this, 'init' ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
} else {
|
159 |
add_action( 'init', [ $this, 'init' ] );
|
160 |
}
|
@@ -166,6 +171,25 @@ if ( function_exists( 'wpm_fs' ) ) {
|
|
166 |
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
protected function is_woocommerce_active()
|
170 |
{
|
171 |
return is_plugin_active( 'woocommerce/woocommerce.php' );
|
@@ -262,31 +286,16 @@ if ( function_exists( 'wpm_fs' ) ) {
|
|
262 |
// startup all functions
|
263 |
public function init()
|
264 |
{
|
265 |
-
add_action( 'pmw_tracking_accuracy_analysis', function () {
|
266 |
-
Debug_Info::get_instance()->run_tracking_accuracy_analysis();
|
267 |
-
} );
|
268 |
|
269 |
if ( is_admin() ) {
|
270 |
-
// If the tracking accuracy has not been run yet, run it immediately in the background.
|
271 |
-
|
272 |
-
if ( function_exists( 'as_enqueue_async_action' ) && !get_transient( 'pmw_tracking_accuracy_analysis' ) && !get_transient( 'pmw_tracking_accuracy_analysis_running_in_as' ) ) {
|
273 |
-
// Set a transient for 5 minutes for pmw_tracking_accuracy_analysis_running_in_as
|
274 |
-
// This is a workaround because as_enqueue_async_action is buggy
|
275 |
-
// https://github.com/woocommerce/action-scheduler/issues/839
|
276 |
-
set_transient( 'pmw_tracking_accuracy_analysis_running_in_as', true, 5 * MINUTE_IN_SECONDS );
|
277 |
-
as_enqueue_async_action( 'pmw_tracking_accuracy_analysis' );
|
278 |
-
}
|
279 |
-
|
280 |
-
if ( !wp_next_scheduled( 'pmw_tracking_accuracy_analysis' ) ) {
|
281 |
-
wp_schedule_event( strtotime( '03:25:00' ), 'daily', 'pmw_tracking_accuracy_analysis' );
|
282 |
-
}
|
283 |
// display admin views
|
284 |
Admin::get_instance();
|
285 |
// ask visitor for rating
|
286 |
Ask_For_Rating::get_instance();
|
287 |
// Load admin notification handlers
|
288 |
Notification_Handlers::get_instance();
|
289 |
-
|
|
|
290 |
Order_Columns::get_instance();
|
291 |
}
|
292 |
// add a settings link on the plugins page
|
10 |
* Developer URI: https://sweetcode.com
|
11 |
* Text Domain: woocommerce-google-adwords-conversion-tracking-tag
|
12 |
* Domain path: /languages
|
13 |
+
* * Version: 1.21.0
|
14 |
*
|
15 |
* WC requires at least: 3.7
|
16 |
* WC tested up to: 6.8
|
19 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
20 |
*
|
21 |
**/
|
22 |
+
const WPM_CURRENT_VERSION = '1.21.0' ;
|
23 |
// TODO add option checkbox on uninstall and ask if user wants to delete options from db
|
24 |
|
25 |
if ( !defined( 'ABSPATH' ) ) {
|
31 |
use WCPM\Classes\Admin\Debug_Info ;
|
32 |
use WCPM\Classes\Admin\Environment_Check ;
|
33 |
use WCPM\Classes\Admin\Notification_Handlers ;
|
|
|
34 |
use WCPM\Classes\Admin\Order_Columns ;
|
35 |
use WCPM\Classes\Db_Upgrade ;
|
36 |
use WCPM\Classes\Default_Options ;
|
154 |
|
155 |
if ( $this->is_woocommerce_active() ) {
|
156 |
add_action( 'woocommerce_init', [ $this, 'init' ] );
|
157 |
+
add_action(
|
158 |
+
'init',
|
159 |
+
[ $this, 'run_woocommerce_reports' ],
|
160 |
+
10,
|
161 |
+
2
|
162 |
+
);
|
163 |
} else {
|
164 |
add_action( 'init', [ $this, 'init' ] );
|
165 |
}
|
171 |
|
172 |
}
|
173 |
|
174 |
+
public function run_woocommerce_reports()
|
175 |
+
{
|
176 |
+
add_action( 'pmw_tracking_accuracy_analysis', function () {
|
177 |
+
Debug_Info::get_instance()->run_tracking_accuracy_analysis();
|
178 |
+
} );
|
179 |
+
// Only run reports if the Pixel Manager settings are being accessed
|
180 |
+
if ( !Environment_Check::get_instance()->is_pmw_settings_page() ) {
|
181 |
+
return;
|
182 |
+
}
|
183 |
+
// If the tracking accuracy has not been run yet, run it immediately in the background.
|
184 |
+
// https://github.com/woocommerce/action-scheduler/issues/839
|
185 |
+
if ( function_exists( 'as_enqueue_async_action' ) && !as_has_scheduled_action( 'pmw_tracking_accuracy_analysis' ) && !get_transient( 'pmw_tracking_accuracy_analysis' ) ) {
|
186 |
+
as_enqueue_async_action( 'pmw_tracking_accuracy_analysis' );
|
187 |
+
}
|
188 |
+
if ( !wp_next_scheduled( 'pmw_tracking_accuracy_analysis' ) ) {
|
189 |
+
wp_schedule_event( strtotime( '03:25:00' ), 'daily', 'pmw_tracking_accuracy_analysis' );
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
protected function is_woocommerce_active()
|
194 |
{
|
195 |
return is_plugin_active( 'woocommerce/woocommerce.php' );
|
286 |
// startup all functions
|
287 |
public function init()
|
288 |
{
|
|
|
|
|
|
|
289 |
|
290 |
if ( is_admin() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
// display admin views
|
292 |
Admin::get_instance();
|
293 |
// ask visitor for rating
|
294 |
Ask_For_Rating::get_instance();
|
295 |
// Load admin notification handlers
|
296 |
Notification_Handlers::get_instance();
|
297 |
+
// Show PMW information on the order list page
|
298 |
+
if ( Environment_Check::get_instance()->is_woocommerce_active() && $this->options['shop']['order_list_info'] ) {
|
299 |
Order_Columns::get_instance();
|
300 |
}
|
301 |
// add a settings link on the plugins page
|