Forum Replies Created

Viewing 15 replies - 1 through 15 (of 33 total)
  • Thread Starter svet

    (@sveslavchev)

    Hello @bycrik ,

    You are right; “basic functionality” can mean different things to different people. For me, basic functionality for this plugin would be a simple percentage discount for quantity purchases, which is missing in the free version.

    Another important issue, which is not based on opinion, is the quality of the plugin’s code. Immediately after deactivating and deleting the plugin via the WordPress interface, my website broke, displaying a white screen with the message: “There has been a critical error on your website.” The log files indicated that the source of the error was the Tiered Pricing Table for WooCommerce. While not every reader of this review may be interested in the error details, I believe it will be helpful for you so you can improve the plugin. Here is the error:

    2024/06/17 01:31:12 [error] 101930#101930: *4913097 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: The script tried to modify a property on an incomplete object. Please ensure that the class definition "TierPricingTable\PricingRule" of the object you are trying to operate on was loaded before unserialize() gets called or provide an autoloader to load the class definition in /.../wp-includes/formatting.php:5148

    By the way I have found a great alternative called Advanced Dynamic Pricing for WooCommerce. It has all the basic functionality to make a simple table with percentage discounts and much more in the free version ??

    svet

    (@sveslavchev)

    I am using different themes, but having the same problem. From my point of view the problem is not related to a theme or theme functionality.

    Even the 2.0.3 update from today (13.03) did not solve the problem. Still no tracking information is sent to Google Analytics.

    svet

    (@sveslavchev)

    @kavillarosa thanks for the plugin update.

    I am also very thankful for the comment left by @alexv on the same topic, but left on this support thread for the WooCommerce Google Analytics Integration plugin.

    Kind regards
    Svet

    svet

    (@sveslavchev)

    Hello everyone,

    I have just updated to the latest version of Pixel Manager for WooCommerce and I can see that GA4 tracking from WooCommerce Google Analytics Integration works as expected.

    I checked the release log files for the Pixel Manager for WooCommerce and I saw that the developers of the plugin made changes to improve the logic of the plugin and to make it work better with the WooCommerce Google Analytics Integration plugin. In the release logs, alongside other changes one can see the following:

    = 1.30.2 = 26.01.2023
    Tweak: Brought back filter to disable the WooCommerce Google Analytics Integration, but only if GA3 and GA4 are both simultaneously enabled in the PMW.
    = 1.30.0 = 24.01.2023
    Tweak: Removed filter to disable the WooCommerce Google Analytics Integration plugin when GA3 is enabled in the Pixel Manager.

    As far as I can understand, the filter to disable WooCommerce Google Analytics Integration is still there, but it is active only if the Pixel Manager for WooCommerce is configured to track both GA3 and GA4 events at the same time.

    Now I use both plugins simultaneously – Pixel Manager for WooCommerce for reporting events to Universal Analytics and WooCommerce Google Analytics Integration for the new GA4 Analytics.

    @alekv thanks for the fix and for the explanation about the implementation details regarding event scoping of the WooCommerce Google Analytics Integration plugin. I had no idea that WooCommerce Google Analytics Integration send events to Google Ads, at least in the past it didn’t. I will be cautious and test, and double-check the results in Google Ads. Thanks.

    Kind regards
    Svet

    svet

    (@sveslavchev)

    Hi @kavillarosa,

    I am using Pixel Manager for WooCommerce for more than an year to track Google Ads conversions. I must say it does its job really well – thank you for your great work!

    That said, I must say that I have the same problem – Pixel Manager for WooCommerce breaks the official WooCommerce Google Analytics Integration.

    For several months I had both plugins installed – Pixel Manager for WooCommerce for tracking Google Ads conversions and Google Universal Analytics, and WooCommerce Google Analytics Integration to track the new GA4. Actually I decided to use both for Google Analytics tracking, since I found this article, where Google Support explains how to install GA4 alongside Universal Analytics. I decided that this is perfect solution for me, since I wanted to start collecting GA4 data immediately, but keep the old Universal Analytics since its data was used for Google Data Studio dashboards.

    Somewhere around 9 November 2022, the GA4 stopped receiving data. I noticed it immediately, but since I had Universal Analytics still working it was not a big deal. I suspected that some of the plugins had a bug and expected it to be fixed in an upcoming release.

    I waited several weeks, but the problem was still there – GA4 data was not reported to Google. Since WooCommerce Google Analytics Integration plugin was responsible for the data collection for the GA4 property I suspected that the problem was related to the plugin and created a support topic. After more people joined the topic we figured out that the problem was not in the WooCommerce Google Analytics Integration plugin itself. The plugin works as expected when Pixel Manager for WooCommerce is deactivated.

    It appears to me that Pixel Manager for WooCommerce interferes with the work of the other plugin.

    From what I see there are other people which have the same problem. Both plugins are great, but they cannot work together.

    Kindly asking you to review the plugin and if possible to make it more friendly to the other WordPress plugins for Google Analytics?

    svet

    (@sveslavchev)

    Hi there,

    Just wanted to mention, that the solution given by @flauntsam, will solve only the tracking of the page_views. All other events will not be tracked.

    svet

    (@sveslavchev)

    Hi @anastas10s,

    I found the cause of the problem – it is not your plugin.

    For the WooCommerce conversions tracking I trust for years the “WooCommerce Google Analytics Integration” plugin, because it is part of the official WooCommerce plugins ecosystem (at least it appears so). I expect that WooCommerce developers have most knowledge in the inner workings of their own product and will deliver consistently working plugin even after WordPress and WooCommerce updates. For year I have been happy with the way the plugin works – no major problems, timely updates.

    Great work dev team!

    The cause of the issue: The problem is caused by the plugin “Pixel Manager for WooCommerce”. I use this plugin to track Google Ads Conversions and Google Analytics UA. Since Google announced GA4, their advice was to use both – Google UA and Google GA4 for some till data inside GA4 is accumulated. For the GA4 tracking in WooCommerce, as mentioned above, I use “WooCommerce Google Analytics Integration” plugin. For the other conversions I decided to use “Pixel Manager for WooCommerce”.

    For months both plugins worked simultaneously together without problems, but it appears that it is not the case anymore – “Pixel Manager for WooCommerce” interferes with the work of the “WooCommerce Google Analytics Integration” plugin.

    The solution: Disabling “Pixel Manager for WooCommerce” solves the problem. Immediately after that the GA4 tracking data is available in Google Analytics Dashboard.

    That said, I must add that disabling the other plugin, “Pixel Manager for WooCommerce”, is not an option for me – I want to keep the Google Ads Conversions and Google Analytics UA tracking.

    Is it possible that you, the developers, make changes in the code so that both plugins work well together?

    All best

    svet

    (@sveslavchev)

    Hi @anastas10s,

    I have switched back to the older (1.5.16) version of the plugin and I saw no difference between the behavior of the version 1.5.16 and 1.5.17. The JavaScript code needed for GA4 to work is not injected into the page.

    I also debugged with the GA4 tag debugger and the measurement ID could not be found on the page. I cleaned all caches and waited several days just in case, but no data was reported to Google Analytics.

    It is weird that the problem started on the date of the update, but was not solved by reverting to the older version.

    How can we debug the problem further? Can the problem be related to other plugins? What are the required conditions for the code injection to be executed?

    All best

    svet

    (@sveslavchev)

    Hello @babylon1999,

    The plugin stopped working for me too. I have switched from Universal Analytics to Google Analytics 4 in July and the plugin worked great till 9 November. At this date the data stopped arriving in my GA4 dashboard. I am mentioning the date, so maybe you get an idea about the issue – WooCommerce release, plugin update, etc.

    I like the plugin and I am willing to debug the problem, just let me know what information do you need.

    P.S.
    1. I have checked fatal-errors.log – there was a single entry from a month ago related to different plugin.
    2. The System Status shows all green, except this one:
    – Your server does not have the SoapClient class enabled – some gateway plugins which use SOAP may not work as expected.
    I do not use payment gateways, and decided to stay without the SoapClient installed and never had problems.

    Thread Starter svet

    (@sveslavchev)

    Is there any support of the plugin? Is this the official Profitshare WordPress plugin?

    Thread Starter svet

    (@sveslavchev)

    Hi @mivtt,

    the plugin installed without problems, but this is expected for every plugin.

    My review is based on the ratio of what the plugin claims and what it actually delivers.

    Also, it was immediately obvious to me, that the plugin developers do not care much of the free version of the plugin. The free version of the plugin is 10 months old empty shell (no functionality, only the interface is there) of the pro plugin version. (the free version is version v1.1.7.9, while the pro version is version v1.4.3.2)

    Thread Starter svet

    (@sveslavchev)

    @ryanhungate is there a planned release date for the plugin version that will fix the described issues?

    Thread Starter svet

    (@sveslavchev)

    @ryanhungate thank you for your efforts in this issue.

    I have to admit, that I maybe provided you with wrong information. The reason for this is that I was myself confused. Let me explain…

    On your question:

    I would like to ask you if you’re currently making use of the GDPR fields currently in Mailchimp?

    I answered Yes, since I though that you mean the Visible, unchecked by default option in the Opt-in Settings in the mailchimp plugin setting: https://drive.google.com/file/d/1AK3-q7yruWFJRCWH-xzZF8wNHj_xF6iY/view. This is one of the GDPR requirements and I thought that this is what you mean when asking GDPR field. The fact, that this checkbox was shown in the register form, made me even more sure that this is the configuration you were talking about.

    Later, the empty API response, made me thinking, that there are GDPR settings inside the mailchimp list settings. I went into the mailchimp interface and found the following settings: https://drive.google.com/file/d/12KGV6CpuJFNWvJkaKbWtLnmevvjn_rj8/view. At this moment I understood what you actually asked me and why the API returns empty response :).

    The API is requesting not the contact list itself, but the list of the Marketing prefferences members.marketing_permissions, right? Since I do not have the GDPR enabled, the API responds with empty list.

    Now you have the complete picture.

    All best

    P.S. I am not in a hurry for a quick fix, since I deactivated the registration completely for now. I can wait till the official update, since my plugin files are already too overwritten ??

    Thread Starter svet

    (@sveslavchev)

    @ryanhungate, the bug is obviously a misunderstanding of the API response and wrong checks in the functions getCachedGDPRFields() and getGDPRFields() and I will explain why.

    
    /**
         * @param string $list_id
         * @param int $minutes
         * @return false|mixed
         */
        public function getCachedGDPRFields($list_id, $minutes = 5)
        {
            $transient = "mailchimp-woocommerce-gdpr-fields.{$list_id}";
            $GDPRfields = get_site_transient($transient);
    
            // only return the values if it's a false - or an array
            if (is_array($GDPRfields)) return $GDPRfields;
    
            try {
                $GDPRfields = $this->getGDPRFields($list_id);
                set_site_transient($transient, $GDPRfields, 60 * $minutes);
            } catch (\Exception $e) {
                $GDPRfields = array();
            }
    
            return $GDPRfields;
        }
    

    1. Lets start WITHOUT the ‘mailchimp-woocommerce-gdpr-fields’ transient data
    2. is_array($GDPRfields) == false, so we continue
    3. $GDPRfields gets the value from the API request from $this->getGDPRFields($list_id) call
    4. the value of $GDPRfields is never checked, but immediately stored as transient data.
    – It happens that in my case the value of $GDPRfields is false and this goes directly in the transient database field. BUT note, the boolean value false is stored as string with 0 length, since the ‘wp_options’.’option_value’ filed is type longtext.

    5. Now we have a ‘mailchimp-woocommerce-gdpr-fields’ transient data which is == ”
    6. the is_array($GDPRfields) check is skipped every time, since $GDPRfields is string ”
    7. new request to the API is made… the transient field is updated with new empty string and so on…

    Here is the API response for the request to "lists/$list_id/members?fields=members.marketing_permissions&count=1" made by getGDPRFields()

    
    {
      ["members"]=>
      array(1) {
        [0]=>
        array(0) {
        }
      }
    }
    

    From the response it is clear why getGDPRFields() returns the default false, because of the missing in the response key ‘marketing_permissions’.

    I hope the provided edge case will help you fix the bug and make the plugin better.

    All best

    Thread Starter svet

    (@sveslavchev)

    @ryanhungate, thanks for the code snippet.

    Even though I couldn’t understand how the options_update() admin function will fix the API requests from the getCachedGDPRFields() function I implemented the code.

    Immediately I noticed that the mailchip admin pages started to respond really slow and several times the following error was displayed:

    Mailchimp says: API Request Error - on 1862 in /wp-content/plugins/mailchimp-for-woocommerce/includes/api/class-mailchimp-api.php

    The I looked at the newrelic monitoring and noticed that again the API is not responding fast enough. Hmm, it appears to me that the API itself has some throttling on the requests to protects its servers. Please take a look at the screen: https://drive.google.com/file/d/1n4VGeSu2AW5F6Xa-_5lH03CFIz70RDCL/view

    In situation where the admin interface does not respond and even the SSH connection is extremely slow I had no other choice but to deactivate the mailchimp plugin. Here is the result: https://drive.google.com/file/d/1LDSVmSvY2ozCi3Z3RmMV-inI09zVvpzX/view

    Later, when the site and the admin panel were working again normally I was able to disable the registration and to reactivate the plugin. Here is the result: https://drive.google.com/file/d/1pplNUfeyATmth2RQ-fd1Eu4mATPkOxkl/view

    I hope that my feedback will help you to identify and fix the problem.

    All best

Viewing 15 replies - 1 through 15 (of 33 total)