This can happen due to multiple causes.
The checklist contains the following items:
- Check if Persoo loads in the page, check Network and Console in the browser (F12 in Chrome)
- Check if you’re looking in the right Environment (production/test – if the Scenario/Offer is not published, it will not be visible in the Test Env.)
- Check if you are in the right AB test version, if there is an AB test running
- Check if you have products imported in the correct environment
- Check if the Scenario/Offer conditions are met
- Check if there aren’t any additional events being sent that could trigger the offer.
- Check if the right pageType is defined in the page’s dataLayer
- Check if the Location exists in the page (when Persoo looks for it – AJAX can create the location too late)
- Check if the Scenario Algorithm returned any products (if no products are returned, no content will be displayed)
- Check if the Scenario/Offer content did not return any syntax error (Request Data – persoo.exceptions in the Persoo Console) and correct the Offer template
Possible causes:
- Check if you have your products correctly imported
- Check if your algorithm does not have a strict MUST/MUST NOT condition that would prevent products from being returned by the algorithm
- Check if your algorithm returnes any values for the SHOULD conditions. E.g. if your only SHOULD condition is “product has high buy count”, and there are no transactions in Persoo yet, no products will be returned by the algorithm.
- Check if the algorithm returns minimum required number of products specified in the Scenario
Every Offer has two base metrics – Impressions and Clicks. Therefore the most basic KPI is the CTR (click-through-rate, Clicks/Impressions)
To find those numbers, look in our administration in the Dashboard. For more depth and other metrics, you can look in to the Scenario/Offer tab Statistics.
You can also send the Impression and Click Events to your Google Analytics.
If you’ve just published your first Scenario/Offer, it’ll take 24 hours for the first metrics to be shown.
If you don’t have revenue tracked at the transaction “thankyou” page, most of the metrics in the Dashboard will remain zero.
If there are still zeros, it might be because the Scenario/Offer isn’t displayed or has height = 0 in the page – this generally happens because of floating contents.
Look for the Event Category = persooEvents.
If there aren’t any you don’t have any events happening or the GA integration isn’t working.
Assuming you have Scenarios/Offers with working stats, check Settings – Integrations, if it’s configured correctly. See page about GA integration for more info.
The setDimensions Event Action will appear in your GA if you’re running a Persoo AB test and have configured the version to be sent into your GA.
This event is used as a “carrier” for telling GA, that the current visitor of your website belongs to the AB test basket “A” or “B”.
Therefore you can ingore these events, their purpose us solely functional.
Firstly check if you wrote the URL parameter corretly.
If so, your server probably removes unknown parameters from the URL.
We can work around that by going to the browser console (CTRL + SHIFT + J or COMMAND + OPTION + J for Chrome, CTRL + SHIFT + K or COMMAND + OPTION + K for Firefox).
Now type command persoo('setEnvironment','test')
and press ENTER. Refresh your page with F5 and the test environment should be on now.
Go to the browser console (F12) and write the name of your Persoo Data Layer, generally dataLayer
. It should exist and contain at least the minimum required fields.
If the Data Layer does not exist, there are some items missing or there are no data:
- It might not have been defined properly
- The data are not pushed
Make sure the following points are also addressed:
- Is the Data Layer refreshed when AJAX content is loaded (e.g. when filtering?)
- Are the items in basket (basketItems) displayed in the Data Layer of all pages?
- Is user’s e-mail captured at all opportunities? (finishing order, subscribing to a newsletter, arriving from an e-mail)
This question is related to the way our search identifies the end of the word.
Our system can either assume that you’ve typed complete word every time, even when there is no space after the last letter.
Like in “Tilak C”. But then it won’t find “Tilak Cruz” since the phrases (complete words) don’t match.
The good thing is, that when you type a product ID, it’ll find the exact match.
It’ll find the right product when you type “WAR350”.
The other option is to assume that any text without a space at the end is not a complete word.
Then the system will try to match the string with any word that fits the beginnig, such as “Tilak Cruz” for the query “Tilak C”.
The disadvantage here is that it’ll not exactly match product IDs.
When you type “WAR350”, the system cannot be sure if it’s a complete word or not.
So it’ll match both products with IDs “WAR350” and “WAR3509” (since it’s close and the system is assuming there might be a typo).
Only if you type “WAR350 ” with a space, the system will know it’s a complete word and that it’s supposed to match only the word itself.
This happens usually because the developers redefine the original dataLayer again with Persoo data, but delete the original content in the process. They should extend the existing dataLayer in the process, or create a specialised dataLayer for Persoo.
Less often this happens because of a failing JS somewhere in the page.
This might be because:
- DataLayer is defined below Persoo snippet, and is not detected reliably.
- DataLayer JS fails in some cases (e.g. multiple items are bought and comma is missing in the products array)
- DataLayer is missing/failing in some combination of payment/delivery (e.g. payment by card with multiple additional basket steps)
- It might be failing only in certain browsers or slower internet speeds, so check accordingly.