Website speed is crucial for delivering an exceptional experience.

To ensure your eCommerce site performs at its best, we've implemented industry best practices for third-party tracking integrations.

This approach enables us to provide advanced tracking and analytics while ensuring your customers enjoy a seamless, uninterrupted shopping experience.

How our Tracking Scripts work

API Calls Are Made After Your Page Is Fully Loaded

During the initial setup, our API is integrated into your website to track and send browser events (e.g. product viewed, collection viewed, add-to-cart, checkout abandonment) to your Klaviyo account.

Similar to Klaviyo, our API transmits data only after your customer's browser has fully loaded. This ensures that our API calls won't interfere with the speed or performance of your eCommerce store.

Our JavaScript File Is Small and Loads Asynchronously

Asynchronous JavaScript loading is a standard best practice used by industry leaders like Facebook Pixel, Google Analytics, Shopify, Stripe, and others.

Our JavaScript file is designed to load asynchronously, ensuring it doesn't delay your website's rendering. This means your customer's browser won't wait for our script to load before displaying the rest of the page. Instead, our script runs in the background, collecting data without blocking page rendering, resulting in a faster and smoother user experience.

By adhering to these principles, our integration ensures your website stays fast and responsive while still providing powerful tracking and analytics.

Why Instant Loads More Than Once on Shopify

Shopify shares store data in two separate ways, so our Shopify integration has two parts. If you check your site's network requests, you'll see our script load once for each part. This is expected and intentional.

  • Storefront script: added by the Instant app. It captures events on your storefront as shoppers browse.

  • Customer Events pixel: a custom pixel named Instant in your Shopify Settings > Customer events. It lets us combine storefront events with Shopify's native events, including checkout and purchase events. Shopify doesn't let script tags run on checkout, so this pixel is how we capture checkout events.

Our technology matches up the event patterns from both parts to identify shoppers. Removing or limiting either part will significantly reduce your identification.

Both parts need to run on every page. Capturing events across a shopper's whole visit is how we identify and remember them. If Instant only ran at certain stages, such as checkout, we might capture that event, but we wouldn't have tracked the shopper for long enough to identify them.

Both parts follow the same principles above. They load asynchronously and only send data after your page has fully loaded, so they don't affect your page speed.

Addressing Site Speed Concerns

Some customers have asked if our pixel impacts site speed. Here's what you need to know:

Common Speed Issues Diagnosed

  • Duplicate Installations: One frequent cause of pixels slowing down a site's speed is that they are installed twice. This doubles the script load and can lead to unnecessary processing, both for the Instant pixel and others. Check your theme and tag manager to ensure there's only one installation of each part. On Shopify, the expected setup is one storefront script from the Instant app and one Instant custom pixel in Customer events. Any copy beyond these two, for example an extra copy in your theme code or tag manager, is a duplicate.

  • Script Execution Time vs. Script Size: The main factor affecting site performance is script execution time, not just the size of a file. In extensive testing, including Google Lighthouse audits, our script consistently shows minimal impact on key user-facing metrics like First Contentful Paint. Tools like Google Tag Manager and Klaviyo often have much larger footprints in terms of execution time.

Understanding Performance Reports

  • Lighthouse vs. GTMetrix: Tools such as Google Lighthouse focus on how quickly content appears to users, while platforms like GTMetrix break down CPU time at a granular level. Sometimes you'll see "CPU time allocation" in GTMetrix directed at services (anything containing instant.one). This service runs asynchronously, so while it uses CPU cycles, it does not block or degrade the user's perceived experience.

  • Unattributable CPU Time: Occasionally, tools may report "unattributable" CPU time after integration. This typically happens when several scripts are running in parallel and sharing resources. Without detailed profiling, it's difficult to isolate which script is responsible, but real-world tests show the visible user experience remains unaffected.

  • Synchronous vs. Asynchronous Calls: The most important part when monitoring is cdn.instant.one, which is responsible for any synchronous elements. Across thorough client tests, this component has not appeared as a significant contributor to page load time.

FAQs and Best Practices

Why am I seeing multiple calls to your pixel in my reports?
On Shopify, you'll see our script load twice: once from the storefront script and once from the Customer Events pixel. This is expected, and both are needed. If you see more than two, the pixel may be installed more than once (e.g. in both your theme code and a tag manager). Confirm there's only one instance of each part running.

Can I load the Customer Events pixel only on checkout pages?
No. We need to capture events on every page to identify shoppers before they reach checkout. Limiting the pixel to checkout pages will significantly reduce your identification.

Is there a lighter version of the Customer Events pixel?
Not at the moment. The Customer Events pixel loads our full script, and it follows the same asynchronous loading principles as the storefront script.

Should I be concerned about the CPU time shown in performance tools?
Not in most cases. Our core function is optimised to run in the background without affecting what your users see. Long CPU times associated with our script in diagnostics are not tied to slower page loads.

By using asynchronous loading and only firing API calls after the page is fully loaded, Instant's tracking scripts are specifically engineered to avoid impacting site speed.

If you have any questions or need additional assistance, please feel free to contact us at [email protected]