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?
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
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?
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?
CLS: Can Engage cause layout shifts?
Only in these two situations:
Inline display inside a div with no reserved height
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?
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
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?
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?
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.
