ePrivacy and GPDR Cookie Consent by Cookie Consent

Web banners: instructions for developers

General

The evaluation of conditions for displaying banners and the insertion of the banner into the page (if any) happens during the MeiroEvents.track(“pageview”) function call.

If your website is a single-page application and you call this function manually, and if there are any cookie/local storage/GTM conditions, make sure that the relevant cookies etc. are set before this tracking call.

The element containing the banner has a z-index value set to 1000000 (1 million). This includes the overlay (for banners with the position set to “middle”).

 

HTML banners

The HTML banners are inserted into an iframe element. This means that the CSS from the main page is inaccessible within the banner, and vice versa.

If you want to access the window object of the main page from within the banner HTML code, you can access it under window.parent, and you can access the Meiro Events SDK under window.parent.MeiroEvents.

The SDK exposes several methods that can be used inside the HTML banner code:

MeiroEvents.closeWebBanner(): void
Closes the current banner. Can be used if you implement your own close button.

MeiroEvents.getWebBannerId(): string
Returns the id of the current banner. Can be used for tracking custom events inside the banner or to retrieve stored HTTP responses.

MeiroEvents.getWebBannerHttpResponses(bannerId: string): Array<{ url: string, data: any }>
If the conditions for the banner included any HTTP request conditions, the responses will be stored in an array of objects. Each object will contain a url property with the URL to which the request was made, and a data property containing the parsed body of the response. Note: the order of the responses in the array is not guaranteed to be the same as the order of the conditions in the condition builder! Examine the URL to differentiate between multiple HTTP conditions.

Use the getWebBannerId method to get the id to pass as an argument to getWebBannerHttpResponses.

You can also track events as usual via MeiroEvents.track(...) from inside the banner.

 
Cookie, local storage, and Google Tag Manager data type handling

The values retrieved from cookies/storage/GTM are handled in the following way for the purposes of condition evaluation:

Boolean

The operators are “yes” and “no”.

  • For “yes”, the condition will pass if the value is true, 1, or any of the strings “true”, “True”, or “1”.
  • For “no”, the condition will pass if the value is false, 0, “false”, “False”, or “0”.
DateTime / Relative DateTime

The value is passed as an argument to the JavaScript Date class constructor before comparing it with the provided value. If the result of the conversion is an invalid date, the condition will always fail.

 

Values retrieved from cookies and local storage are always retrieved as strings. If you store a JavaScript UNIX timestamp (number of milliseconds), this number will be retrieved as string and parsing to Date object will fail. Please make sure to store timestamps in cookies and local storage in a format that will be correctly parsed when passed to the Date constructor (i.e. new Date(timestamp)). We recommend the ISO format.

Number The value is converted to the JavaScript number type before comparison.
String The value is converted to the JavaScript string type before comparison.