Testing the SW6 Integration

Review the following aspects on the e-shop in order to confirm and validate that the default features have been successfully integrated on the Shopware 6 platform.

The Boxalino API inspect mode with _bx_inspect_key

The key will allow to review the API request and the API response.

It has been included in order to quickly identify the integration stage without bothering the IT team.

  1. Go to the e-shop

  2. Append ?_bx_inspect_key=<apiKey> to the URL

We recommend to have cache disabled on the pages/flows where it is expected Boxalino content.

For the projects in which this is not possible, the use _bx_inspect_key must be done on a page that is uncached. To achieve this, simply add a random value in the URL. For example: <e-shop>?_bx_inspect_key=<apiKey>&_cachekey=<any-content>

3. Click Enter to load the new URL.

4. If the view stayed the same - there is no API request on the page

In the case that there is API request on the page and no content loaded - contact the IT team.

In the case that there is no API request on the page and it should be - contact the IT team.

Tracking

Please review the documentation from JS Tracker Check-List in order to confirm that all tracking HTML tags & events are properly integrated.

The following events are tracked:

  1. Any page view

  2. Search requests

  3. Category view

  4. A product is added to basket

  5. Scrolling on the page (due to the HTML tags) JS Tracker Check-List | Check the scrollImpression tracking:

  6. Click on items/elements on the page (due to HTML tags) JS Tracker Check-List | Check the click tracking:

  7. A order is made

  8. A customer logs in

When tracking bav2.min.js is not loaded

This can happen when:

  1. The tracking is disabled from your Shopware 6 configuration (Read more about Configurations https://github.com/boxalino/rtux-shopware/wiki/Configurations )

  2. The analytics template is ignored ( make sure the plugins are enabled & active, clear cache on dev templates). The integration team is able to inspect directly on the project.

Autocomplete (JavaScript Client-Side)

As a default, the autocomplete/quick search integration is done client-side via a JS update. This means, as a user, it can be inspected directly in the browser

  1. Navigate to the e-shop

  2. Inspect the page (right click on page, select “Inspect” from the options)

  3. Switch to “Network” tab

  4. Search for “1?profileId

  5. The API request is available in Payload section, the API response is available in Response section

When there is no request

This can happen when the theme is not compiled (the integration is a JavaScript update).

The integration team is able to address this directly on the project.

When the template is broken

The templates are part of the integration and are custom to each project. The integration team is able to review & make adjustments without Boxalino assistance. As a practice, the JS files are located in <integration-module>/src/Resources/app/storefront/src/rtux-autocomplete

When there is an error in the request

For the typical customer on the store - it should not disrupt anything. The autocomplete feature has a fallback on Shopware 6 itself.

From an integration review aspect, the request to 1?profileId=<cemv-cookie> appears with red. The error from Boxalino API will appear in the “Response” section.

Contact Boxalino.

Typical issues might be:

  1. (for new accounts) the autocomplete index is not available

  2. (for new accounts) the BigQuery flow was not computed (configured rules are invalid)

Search

The search action happens the user clicks on “Enter” or engages with a search term.

The URL path is <e-shop>/search?search=<keyword> .

  1. Review the API request / response by appending _bx_inspect_key=<apiKey> to the URL (ex: <e-shop>/search?search=<keyword>&_bx_inspect_key=<apiKey>&_bx_rtux_cache_key=<any-content>)

  2. Observe that any selected filter appears in the URL with it`s own name-value (opposing to Shopware6 default that uses hash of ids)

  3. The scrolling events are tracked in the “Network” tab JS Tracker Check-List | Check the scrollImpression tracking:

When there is no API request

If there is no change on the page when inspecting via the _bx_inspect_key - it means the search functionality is not integrated with Boxalino.

The integration team is able to inspect directly on the project:

  1. Enable “test mode” and review the server logs.

  2. Review the controller from <integration module>/src/Storefront/Controller/SearchControllerhttps://github.com/boxalino/rtux-integration-shopware/wiki/Search-Context

  3. Clear cache

When there are no products displayed

  1. If there is an API request (Testing the SW6 Integration | The Boxalino API inspect mode with _bx_inspect_key ) - the solution is in the e-shop environment.

  2. Review server logs (maybe missing templates?)

  3. Clear cache

Product Detail Page (PDP) Recommendations

There are 2 ways to add product recommendations on the detail page:

  • server-side (when the product link is clicked on)

  • asynchronous (after the product is displayed, an ajax request is made to inject recommendations)

The asynchronous load can be inspected directly in the browser. Open the “Inspect” mode, switch to “Network” tab and search for boxalino . The crosssell request should appear there.

 

When there is no crosssell request

  1. This is normal if the integration team chose to use the server-side integration.

  2. (if it is not #1) review the required Template Updates https://github.com/boxalino/rtux-integration-shopware/wiki/PDP-Context-(AJAX)#5-theme-template-updates in order to switch to the asynchronous integration.

  3. (if it is not #1) view the uncached product page by adding a random parameter in the URL (add `?<any-value-after-product-link>). Switch to “test mode” and review server logs. Fix or communicate identified errors if it`s in the scope of Boxalino.

  4. Clear cache. The integration team is able to inspect directly on their project.

When there are no recommendations displayed

This scenario is discovered during development (pre-go-live) stage.

  1. Switch to “test mode”

  2. Review the server logs for errors

  3. Fix or communicate identified errors (and the API request) if it`s in the scope of Boxalino

Possible contexts in which there are no product recommendations in the API response:

  1. Invalid optimization rule in Boxalino Intelligence Admin

  2. Invalid API request

Category View (navigation)

The category is replaced with the help of the CMS Element CMS Element (for Shopping Experiences) Before continuing with the review, confirm that there is an updated layout in use that has a Boxalino CMS Element configured (ex: widget navigation)

  1. Review the category page with the help of the _bx_inspect_key=<apiKey>

  2. Observe that any selected filter appears in the URL with it`s own name-value (opposing to Shopware6 default that uses hash of ids)

  3. The scrolling events are tracked in the “Network” tab JS Tracker Check-List | Check the scrollImpression tracking:

When there is no API request

If there is no change on the page when inspecting via the _bx_inspect_key - it means the CMS element is not included in the Category layout or there is a caching issue.

The integration team is able to inspect directly on their project.

When there are no products displayed

Review the steps from Search Testing the SW6 Integration | When there are no products displayed

When the page is cached

After Shopware 6.4, there is an internal framework layer of cache.

In order to avoid for certain contexts & pages integrated with Boxalino to be cached:

  1. review that the cache invalidator subscribers are part of the integration https://github.com/boxalino/rtux-integration-shopware/blob/3.4.0/src/Resources/config/services/api/cms.xml#L36

  2. update the config shopware.yml.

shopware: cache: invalidation: category_route: ["cms-block-navigation-boxalino-api"]

When the Boxalino CMS Element is not visible

The CMS element is added like any other backend Shopware 5 CMS block https://developer.shopware.com/docs/guides/plugins/plugins/content/cms/add-cms-block .

In case it is missing, please check that:

  1. The module is installed & active

  2. The backend theme has been compiled (review SW6 documentation)

  3. Clear cache

Homepage Sliders (cms)

The sliders are added on the homepage with the help of the CMS Element CMS Element (for Shopping Experiences) Before continuing with the review, confirm that the page you are inspect is using an updated layout that has a Boxalino CMS Element configured (ex: widget home).

  1. Review the home page with the help of the _bx_inspect_key=<apiKey> (ex: <e-shop>?_bx_inspect_key=<apiKey>&cacheKey=<some-text>

  2. The scrolling events are tracked in the “Network” tab JS Tracker Check-List | Check the scrollImpression tracking:

When there is no API request

If there is no change on the page when inspecting (uncached) via the _bx_inspect_key - it means:

  1. The CMS element is not included in the homepage layout

  2. If the CMS element is included and there is no API request - there is a caching issue and/or some server-side errors.

The integration team is able to inspect directly on the server.