Visual Intelligence OXID Plug-in Manual

OXID Version supported: from 4.10 and higher 

This manual shows you step by step how to install and use the plug-in in your online shop.
Please test the installation and the configuration of the plugin on a test system before
installing it on your live shop.

Plugin purpose

The plug-in Visual Intelligence from Mediaopt supports the integration of the Visual-Product-Recommendation (VPR)

In your online shop and provides image synchronisation for Visual-Product-Search (VPS) too. 

VPR is a cross-selling campaign on your product page, which generates recommended products based on their visual similarity to the source product.

VPS allows your customers to search not only by text but to find products based on images or the input of the camera on their (mobile) device.  

Plugin Installation 

Before you start with the installation process, backup your database and your online shop.

If you have concerns about installing the plugin, let this job be done by a professional, or feel free
to contact us for help.

Please, follow this instruction carefully for an undisturbed use.


The official Visual Intelligence Shopware plug-in is provided by Mediaopt. If you are a customer of our service please ask for the latest plug-in version. If you are interested to test the plug-in,

use the contact on the following link: 


Plugin Configuration

In the picture below is shown, how you can access this plugin in OXID eShop System.

Then, in order to make this plugin work, you need to activate it. 

Now you can start to configure it. Choose Einstellungen in the menu of the plugin. Here you see a list of different setting properties. 


Aktiv – leads to the activation of the plug-in. Must be clicked on after the successful configuration of the plug-in and catalog synchronization. 

Umgebung - offers a choice between two systems: productive and stage. Stage is appropriate for testing purposes, productive for live implementation.

Nutzungswahrscheinlichkeit – here you put in the numeric value between 0 (0%) and 1(100%), which defines the probability, whether the API is applied for definition of any specific product.

Nutzername / Passwort – will be generated by Mediaopt in case if user would like to test the plug-in beforehand.

ID der verwendeten Kategorie – specifies the product category to be analyzed. If this value is defined, only similar articles from that category will be shown. If this field is left empty, all articles will be shown.

Ähnliche Artikel in Kategorielisten anzeigen​ – If this value is defined, similar articles will also be shown on the category pages.

Frontend-Event-Tracking aktivieren​ – see below Frontend-Tracking

Tracking-Cookies nur nach Aufforderung setzen​ – Please activate only if the Frontend-Tracking is activated. If one clicks the button to accept cookies, Tracking-Cookies will be set. The button must have the class mo_js-enableTrackingCookie.

Alternatives Verhalten

Here will be chosen the responses of the system if Visual Intelligence plug-in does not deliver any result. Technically there are two options depending on the place where the problem appears: 1. Nothing will be shown or 2. OXID standard respond.

Visual Product Recommendation on category lists

You can enable this feature in the configuration.

The display of recommended articles is build using the OXID default as starting point, meaning you need the following:

  • the outmost HTML-Element containing the product must have the class productData

Your template needs to contain the following blocks:

  • page_list_listbody in the file page/list/list.tpl
  • widget_product_listitem_TYPE_tobasket in the file widget/product/listitem_TYPE.tpl where TYPE is grid, infogrid and line for each file respectevly

Further styling information:

The plugin puts the inserted recommendation to the end of its containing HTML-Element (refer oxid default, each row is its own div and thus offers a better look when put at the end)

To reduce the amount of request to the API, please add 'MoVIShowSimilarProducts' to your list of cachable classes in Stammdaten > Grundeinstellungen > Caching > Dynamic Content Caching.

Verwendete Artikelbilder

Here user receives the opportunity to choose which product picture must be analyzed, depending on its quality.

According to data security concerns, all images of products, which are sent to be indexed, will not be stored on our services.

Our AI system analysis the image and stores just the resulting description.

In order to have a better image analysis result, it is important to send well-prepared images. The photo
should contain an isolated product, in best case without containing any complex background or other
objects or persons.


Aufbewahrungszeitraum – Defines how long log data must be saved.

Log-Level – Defines what kind of log information must be represented.


Initial synchronization

After setting the configuration for the module, you have to synchronize the product images.

There is a console command to run this task. Connect to your server via SSH, change to the module folder and run the following commands:

  1. bin/console.php upload-category-tree
  2. bin/console.php upload-products
  3. bin/console.php upload-images

Automatic synchronization

In order to ensure the regular update of your product data, it is recommended to add also these commands to your nightly cron jobs:

  1. bin/console.php upload-category-tree
  2. bin/console.php upload-products
  3. bin/console.php synchronize-images

Activation of Visual Intelligence plug-in in the frontend.

Performance -> Ähnliche Artikel laden


Einstellung -> Anzahl ähnlicher Artikel.



If everything is done right, the tab with "Visually Similar Products" will appear in your online shop frontend product page.

Below is just one example of the possible implementation of the plug-in and its results.


Under settings it is possible to switch the tracking of frontend events off and on.

As default etracker, a german based company, will be used. Please make sure to add this information to your data privacy statement. Please see the example text and make sure that it satisfies the law of your country. 

Tracking privacy statement and right of withdrawal
Der Anbieter dieser Website verwendet Dienste der etracker GmbH aus Hamburg, Deutschland (<a href=";&gt;;/a&gt;) zur Analyse von Nutzungsdaten. Wenn Besucher uns die explizite Einwilligung erteilen, werden dabei Cookies eingesetzt, die eine statistische Analyse der Nutzung dieser Website durch ihre Besucher sowie die Anzeige nutzungsbezogener Inhalte oder Werbung ermöglichen. Cookies sind kleine Textdateien, die vom Internet Browser auf dem Endgerät des Nutzers gespeichert werden. etracker Cookies enthalten keine Informationen, die eine Identifikation eines Nutzers ermöglichen.<br>
Die mit etracker erzeugten Daten werden im Auftrag des Anbieters dieser Website von etracker ausschließlich in Deutschland verarbeitet und gespeichert und unterliegen damit den strengen deutschen und europäischen Datenschutzgesetzen und -standards. etracker wurde diesbezüglich unabhängig geprüft, zertifiziert und mit dem Datenschutz-Gütesiegel <a href=";&gt;ePrivacyseal&lt;/a> ausgezeichnet.<br>
Die Datenverarbeitung erfolgt auf der Rechtsgrundlage des Art. 6 Abs .1 lit a (Einwilligung) der EU-Datenschutzgrundverordnung (EU-DSGVO) zur Optimierung unseres Online-Angebotes und unseres Webauftritts. Da uns die Privatsphäre unserer Besucher besonders wichtig ist, wird die IP-Adresse bei etracker frühestmöglich anonymisiert und Anmelde- oder Gerätekennungen bei etracker zu einem eindeutigen, aber nicht einer Person zugeordneten Schlüssel umgewandelt. Eine andere Verwendung, Zusammenführung mit anderen Daten oder eine Weitergabe an Dritte erfolgt durch etracker nicht.<br>
Sie können einer erteilten Einwilligung jederzeit widersprechen. Ihr Widerspruch hat für Sie keine nachteiligen Folgen.<br>
<a href="#" data-tld="" id="et-opt-out"></a> <br>
Weitere Informationen zum Datenschutz bei etracker finden Sie <a href=";&gt;hier&lt;/a&gt;.

The following events and options will be tracked:

DESCRIPTION myCategory myObject myAction myType area (auto) pagename (domain)
view-Product product productID view detail    
load-Vi-VPR-ProductPage VI-VPR | defaultPR   load detail    
view-Vi-VPR-ProductPage VI-VPR | defaultPR   view detail    
view-Vi-VPR-Product-ProductPage VI-VPR-Product | defaultPR-Product productID view detail    
click-Vi-VPR-Product-ProductPage VI-VPR-Product | defaultPR-Product productID click detail    
view-Vi-VPR-ListPage VI-VPR | defaultPR   view list    
view-Vi-VPR-Product-ListPage VI-VPR-Product | defaultPR-Product productID view list    
click-Vi-VPR-Product-ListPage VI-VPR-Product | defaultPR-Product productID click list    
addToBasket-ProductPage product productID addToBasket detail    
addToBasket-ListPage product productID addToBasket list    
addToBasket-VI-VPR-ProductPage VI-VPR-Product | defaultPR-Product productID addToBasket detail    
addToBasket-VI-VPR-ListPage VI-VPR-Product | defaultPR-Product productID addToBasket list    
order-Product product productID order thankyou    

Furthermore we are using campaigns on similar products:

Description Campaign name Campaign medium Campaign partner Campaign type Campaign origin
click on VI-VPR-Product VI VPR mediaopt recommendation ListPage | ProductPage

Mapping of the campaign parameter to tracking services:

Tracking service Campaign name Campaign medium Campaign partner Campaign type Campaign origin
e tracker etcc_cmp etcc_med etcc_par etcc_ctv et_cmp_se


Preventing and Enabling Cookies

When enabling the frontend tracking you may prevent setting of cookies with an extra option.
If you choose to disable them and have a cookie message you may put the classname mo_js-enableTrackingCookie onto that element to have an explicit opt in of setting cookies for the tracking.