WingifyGuides

SmartCode 3.0: What's New and How It Works

This article covers the following: * Overview * Enhancements Delivered with SmartCode 3.0 * Key Benefits of SmartCode 3.0 * Choose the Appropriate SmartCode Implementation (Synchronous vs. Asynchronous)

#Overview

SmartCode 3.0 offers a significant upgrade to Wingify’s JavaScript (JS) snippet, designed for faster loading, smarter delivery, and more consistent experiment execution. This release represents a major overhaul of both server-level and client-side architecture, resulting in a leaner, faster, and more reliable experimentation framework.

For example, if you use only A/B testing on your site, you currently receive a generic JS library that includes code for all Wingify features. With SmartCode 3.0, Wingify serves a tailored JS file that includes only the logic for features your account actively uses. This upgrade significantly reduces the performance footprint on your visitors' browsers.

#Enhancements Delivered with SmartCode 3.0

SmartCode 3.0 introduces the following technical improvements:

Enhancement What it means
40% smaller JS payload Wingify serves only the JS logic your account actively uses (feature-based serving), resulting in a 40% reduction in payload size. This improves download speed, particularly on mobile devices and slower connections.
Feature-based JS serving The JS file is scoped to the features your account is actively using. Wingify automatically updates the file when you enable or disable a feature. No action is required on your end here.
Pre-evaluated trigger strings Campaign triggers, such as segmentation and targeting conditions, are pre-evaluated on the server and served as ready-to-run JS strings. This reduces the computation that your visitors' browsers need to perform at page load.
Efficient Caching Pre-evaluated trigger JS is cached at Google Cloud CDN edge nodes and served from the location nearest to your visitor ensuring consistent, fast delivery globally. The tag file is also cached in the visitor's browser, so on subsequent page loads within a session it's served directly from the browser cache, reducing load time to near zero for repeat visits.

#Key Benefits of SmartCode 3.0

Performance and page speed

  • Improved split test redirects: Redirect-based experiments trigger earlier in the page load, helping visitors land on the intended variant more quickly.
  • Better Core Web Vitals: The smaller, CDN-served JS contributes to improvements in Largest Contentful Paint (LCP), Total Blocking Time (TBT), and Interaction to Next Paint (INP), metrics that affect both user experience and search rankings.
  • Stronger mobile experience: The 40% reduction in JS payload size benefits visitors on mobile devices and slower connections, where every kilobyte matters.

Note: Place the SmartCode snippet as high as possible in the section of your HTML. This ensures changes are applied as early as possible in the page load cycle, reducing the window before a variant appears.

#Choose the Appropriate SmartCode Implementation (Synchronous vs. Asynchronous)

Both synchronous and asynchronous SmartCode options remain available in version 3.0. The synchronous implementation has a slight performance edge because the script loads and executes immediately, without delaying the page load. This matters because A/B testing changes directly affect the page. So, any delay before the script runs, increases the chance of a visitor seeing the original page before the variant is applied.

The recommendation for most implementations remains to place SmartCode synchronously in the section of your website.

Warning: Adding SmartCode via a tag manager introduces a delay between when the page starts loading and when Wingify executes. This can increase the likelihood of visitors seeing the original page before a variant is applied. For best results, add SmartCode directly to the section of your website.

For more information on configuring SmartCode for your website, see Configure the Wingify SmartCode for Your Website.

#Need more help?

For more information or further assistance, contact Wingify Support.