Keep the initial script small
Load only the code required to display the button. Additional channel interfaces and analytics can be requested after interaction or when the browser is idle.
Avoid blocking the host website
The embed should load asynchronously and fail safely. If the widget service is unavailable, the customer website must continue working normally.
- Use an async script.
- Avoid global CSS selectors.
- Set strict network timeouts.
- Cache published configuration.
Test real devices and connections
Desktop Lighthouse scores are not enough. Test budget Android devices, narrow screens, reduced-motion preferences, and slower mobile connections.