Previously, I wrote a comprehensive guide detailing fourteen (14) potential issues you might encounter in your Piwik Pro e-commerce tracking implementations and their respective solutions.
That article thoroughly outlines each issue, and I encourage you to refer to that guide for more information.
However, In this blog post, I will specifically address scenarios where your Piwik Pro transaction or order tracking isn’t working. I’ll cover eleven (11) possible causes of this issue and provide solutions for each.
First, here is a list of some common reasons why your Piwik Pro order tracking may not be working:
- E-commerce Reports Not Enabled
- Privacy Settings or Configurations
- SKU (Product ID) Not Sent as a String
- Quick Redirects
- Missing E-commerce Products in the Expected Format (Array of Objects)
- Missing Transaction Datalayer
- Incompatible Transaction Datalayer Structure
- Failure to Send Required Transaction Properties
- Race Conditions
- Adblockers and Other Extensions
- Using a Deprecated Tracking Version
With this overview of potential issues, let’s examine each problem and explore solutions to resolve it effectively.
Issue 1: E-commerce Reports Not Enabled
Suppose you have correctly set up Piwik Pro e-commerce tracking but cannot find the e-commerce report in your Piwik Pro analytics project.
In that case, the likely reason is that you haven’t enabled “E-commerce Reports” for your Piwik Pro Analytics property.
To enable these reports, navigate to the “Administration” view, go to the “Reports” tab of your Piwik Pro project, and toggle on the “Show E-commerce Reports” option.
Issue 2: Privacy Settings or Configurations
Privacy settings or configurations can prevent your transaction data or other e-commerce actions from being tracked in Piwik Pro, primarily if you have implemented your e-commerce tracking using the Piwik Pro Tag Manager.
Suppose you have set up your Piwik Pro Order tag or other related tags and configured the “Consent type” settings in the tag configuration to “Analytics” when there is no Piwik Pro consent banner on your website.
And you are not using a Piwik Pro privacy banner on your website.
In that case, the tag manager won’t detect the consent type and, therefore, won’t fire your order tag, preventing transaction data collection.
Another privacy configuration issue arises if you use a custom consent banner without correctly integrating the vendor CMP with Piwik Pro using the Piwik Pro Consent Manager API.
For guidance, please read our Piwik Pro privacy series on integrating Piwik Pro with consent management tools like Osano, Termly, Cookie-Script, Consent Manager, CookieYes, and CookieFirst. And, if you are looking to integrate your Piwik Pro with Google Consent Mode, you should check out this guide.
Issue 3: SKU (Product ID) Not Sent as String
Your Piwik Pro transaction tracking may not work if the item data contains an SKU attribute that wasn’t sent as a string data type.
If the item ID “SKU” is not in string format at the dataLayer level, you can identify this issue using the Piwik Pro Tracker debugger.
If you want to learn more about debugging in Piwik Pro, you can check out this guide on Piwik Pro Analytics debugging.
If you use the Piwik Pro e-commerce tracking tag template in Piwik Pro Tag Manager, ensure the product ID or SKU is in a string format at the dataLayer level.
For setups using the custom HTML in Google Tag Manager or Piwik Pro Tag Manager, ensure the “SKU” is defined as a string data type.
As observed in one of my tests, even if you send the order ID as a non-string data type, as shown in the image below.
Piwik Pro will help you convert the non-string order ID to a string after the hit gets sent.
Issue 4: Quick Redirect
A rare but possible reason for your Piwik Pro order tracking not working could be an automatic redirect from the order confirmation page to another page, which prevents the Piwik Pro transaction tag from executing in the user’s browser.
To address this, perform a test purchase on your website and observe the confirmation page’s behaviour. If it redirects immediately, consult your engineering team to fix this issue.
Issue 5: Missing E-commerce Products in the Expected Format (Array of Objects)
When sending a transaction hit to Piwik Pro analytics, product information is expected to be included in the format of an “array of objects.”
However, in my test, including item information appears to be optional, as evidenced by the execution of the code below, where an empty array of objects was sent.
It’s rare for you not to have e-commerce product information.
Despite this, as shown in the image below, Piwik Pro still recorded the purchase action but without the product information.
Do keep in mind that in a scenario where you fail to send the e-commerce product information as an empty array, as shown in the image below.
You should receive an error message, which will be logged in your browser. The order will not be processed.
I recommend always including some item data to resolve tracking issues like this. If you do not have any items to include, ensure you at least send an empty array of objects.
Issue 6: Missing Transaction Datalayer
If your Piwik Pro order tracking is not working, it may be due to the absence of a transaction dataLayer. This issue applies to implementations relying on the GA4 or the UA transaction dataLayer.
Start by performing a test purchase to check if a transaction dataLayer is on the order confirmation page or if it executes upon order completion. If the dataLayer is absent, you should create a request for your engineering department to ensure that order details get pushed to the dataLayer.
Issue 7: Incompatible Transaction DataLayer Structure
An incompatible transaction data layer structure can prevent Piwik Pro from properly mapping data layer attributes to a format understandable to Piwik Pro Analytics.
That is why ensuring that your dataLayer follows the GA4 or UA schema is crucial.
When examining the dataLayer, always verify two things:
- The structure of the dataLayer conforms to the GA4 or UA schema.
- The names of the keys and their data type formats are correct.
You might assume that you have a GA4 schema order dataLayer by noticing similar key names. However, upon closer inspection, you’ll observe that the structure might not align with the GA4 schema.
Similarly, the key names may not match, but you can change the key names within your Piwik Pro Tag Manager or wherever you implemented the order tracking.
To resolve cases like this, you must identify any keys using different names and modify your implementation accordingly.
Issue 8: Failure to Send Required Transaction Properties
In your Piwik Pro transaction tracking setup, ensure you send the required attributes in the correct data format. These attributes include:
- orderID
- SKU
- GrandTotal
If these parameters are absent, Piwik Pro won’t process the e-commerce order hit, causing it to register as a broken event, as shown in the image below.
You might also see an error logged in your browser console.
And, when it’s a payment-related attribute issue, your message will also state that.
The transaction data will get recorded in Piwik Pro Analytics, even if you transmit the required transaction parameters but omit other product data or purchase information in the transaction hit.
However, the missing parameters will not appear in your order report within Piwik Pro’s e-commerce report.
To resolve this, ensure that all required and significant parameters are present at the data collection point for every e-commerce order completion on your website.
Piwik Pro Analytics will be able to accurately report the e-commerce transaction when you send the transaction data with the complete set of required event and item data.
Issue 9: Race Condition
Race conditions can occur if you are not using the Piwik Pro tag template in Piwik Pro Tag Manager and have set up your order tracking outside Piwik Pro Tag Manager.
In a situation like the image below, where your purchase dataLayer happens and triggers your Piwik Pro order tag before the Piwik Pro config code loads on the website, your purchase action and data will not get captured, causing your Piwik Pro purchase tracking to fail.
This issue arises not only because of the race condition itself but also because you did not establish the “_paq” variable in your Piwik Pro transaction tracking code.
When you open the console, you should see an error message that will likely get logged into your browser console.
To address this, ensure the following code initialization gets placed above the Piwik Pro e-commerce purchase tracking script. It will help ensure your order tracking works without issues, even in the presence of race conditions.
window._paq = window._paq || [];
This code checks if the “_paq” variable exists; if it does, it does nothing. If it doesn’t, it creates a new empty array. This guarantees the availability of the “_paq” variable, even if the config code hasn’t initialized it.
Upon adding this line of code, as highlighted in the image below.
Your Piwik Pro transaction tracking should work correctly, as shown in the Piwik Pro debugger screenshot.
Alternatively, you can avoid race condition issues by ensuring the e-commerce action dataLayer event does not trigger before the Piwik Pro config tag executes. However, the workaround mentioned above should still help in addressing such issues.
Issue 10: Adblockers and Other Extensions
Adblockers and other browser extensions can interfere with tracking, causing discrepancies in your Piwik Pro transaction reports. You might notice this issue when test purchases are visible in the dataLayer and correctly formatted, yet orders are not recorded in Piwik Pro.
If this happens, I recommend performing the test in a browser without adblockers or other extensions installed.
Issue 11: Using the Deprecated Tracking Version
If your Piwik Pro order tracking is using version 1, deprecated on May 23, 2023, this could be the source of the issue. Piwik Pro announced updates to e-commerce tracking, making the old version obsolete.
To resolve this, use either the tag template in Piwik Pro or the Piwik Pro e-commerce tracking measurement recipes we’ve developed at DumbData for a quick, easy, and accurate setup.
Final Thoughts
I’ll start by recommending that you check out my complete guide on resolving fourteen (14) Piwik Pro e-commerce tracking issues to gain a broader understanding beyond purchase tracking problems.
Additionally, you can use the free downloadable measurement recipes we’ve developed for seamless Piwik Pro e-commerce tracking for your clients or business.
In summary, we’ve covered why your Piwik Pro order completion tracking might not work, the possible causes, and their solutions.
I would love to hear your thoughts about your Piwik Pro e-commerce tracking experience. Feel free to contact me via LinkedIn or the DumbData email or the form on our contact page. If you still can’t find the cause of your Piwik Pro transaction tracking issues, reach out to me through these channels. Until then, happy measuring!