Skip to main content

Poool Engage & Web Performance: FAQ

Impact on Core Web Vitals, best practices & answers to frequently asked questions

Flore Bayle avatar
Written by Flore Bayle
Updated over a week ago

Engage is designed to minimize its impact on performance and comply with Core Web Vitals best practices.


This page brings together the most common questions from our clients, along with recommendations based on internal tests and real-world usage.

How does Engage load technically?

Engage follows the same principles as the Poool Access SDK:

  • Asynchronous loading of the script (engage.js)

  • No blocking of the main rendering thread

  • Network requests optimized through a CDN

  • Insertion of an isolated iframe for elements configured in the dashboard (modals, sticky formats, inline displays)

    Consequence: Engage does not block the LCP nor the loading of your site’s critical resources.

Loading delay & geolocation

Geolocation is a targeting condition available in the Engage dashboard, allowing you to display an element only to users in specific geographic areas.

Impact on performance

Geolocation does not have a significant impact on Engage’s performance. It relies on a fast, CDN-optimized network request.

Variations perceived by some users generally come from:

  • their local network context (country-specific latency)

  • or VPN testing, which adds artificial latency

Best practices

To properly evaluate geolocated display, test whenever possible:

  • from the actual location (not via VPN)

➡️ Under real-world conditions, geolocation does not create any noticeable slowdown in Engage element display.

Does the number of custom filters affect performance?

TL;DR: In 99% of cases, no.

Engage targeting relies solely on text-based value checks carried out locally in the browser.

What may have a slight impact :

  • Very old devices

  • Highly complex targeting rules using very long strings (e.g., 2000+ characters or more than ~50 large filters passed to the SDK)

What has no impact :

  • Number of elements in the dashboard

  • The size of the Engage script (always the same)

Conclusion

No impact on LCP / CLS / INP.
At worst, a slightly increased JavaScript parsing time.

CLS: Can Engage cause layout shifts?

Only in these two situations:

  1. Inline display inside a div with no reserved height

  2. Full-screen modal configured without height: 100% in the parent container (iframe) CSS

Because Engage computes the final height dynamically based on the components loaded from the dashboard, it is not known at page load, and the surrounding content may shift.

For inline display :

  • Add a reserved height using: Modify element properties > Advanced configuration > Parent container CSS > #p3-parent-frame {min-height: Xpx;}

For full-screen modals, add #p3-parent-frame {min-height: 100%;}

With a properly configured container, Engage does not generate CLS (validated via Lighthouse and RUM).

Does Engage impact Core Web Vitals?

LCP (Largest Contentful Paint)

✅ No observed impact.
The SDK loads after critical resources.

INP (Interaction to Next Paint)

✅ No observed impact.
The Engage script is lightweight and uses very few client-side resources.

CLS (Cumulative Layout Shift)

⚠️ Possible only if the configuration is not optimized (see previous section).

FID (First Input Delay)

✅ No observed impact.
Engage is built as a lightweight, asynchronously loaded SDK and does not execute long tasks during load.

Best integration practices for optimal performance

  • Load the SDK asynchronously (default) : <script async src="https://assets.poool.fr/engage.js"></script>

  • Avoid inserting Engage into divs whose DOM takes time to build

  • Prefer parent container settings supporting overlay display for modals/sticky formats instead of inserting them into your site’s own div

  • Test rendering in real conditions, without a VPN

Why do I notice a delay before an Engage element appears?

Most common causes:

  • Several custom filters must be evaluated before display

  • Display depends on a user-triggered condition (e.g., scroll to 30%)

  • The element is inserted into a container that loads slowly

  • VPN usage → artificial latency

Still unsure about your integration?

Our support team can help analyze:

  • your Core Web Vitals (LCP / CLS / INP)

  • your Engage configuration

  • the element’s position in the DOM

  • the iframe’s behavior in isolation

Contact us at support@poool.fr.

Did this answer your question?