www.split.io
Open in
urlscan Pro
2a04:4e42:600::777
Public Scan
Submitted URL: https://go.split.io/MDUzLUpOWS0yMjUAAAGQLSq6GP5WyRzi3W6QTTGPScCeWvjQzKmhtVB8fN88ekN315P_SXc_DRFMjRpPnyknjcgfeHs=
Effective URL: https://www.split.io/blog/minimize-webpage-latency-with-split-flag-sets/?utm_campaign=holidaynewsletter&utm_medium=em...
Submission: On January 08 via api from LU — Scanned from DE
Effective URL: https://www.split.io/blog/minimize-webpage-latency-with-split-flag-sets/?utm_campaign=holidaynewsletter&utm_medium=em...
Submission: On January 08 via api from LU — Scanned from DE
Form analysis
3 forms found in the DOMGET https://www.split.io/
<form role="search" method="get" class="bricks-search-form" action="https://www.split.io/">
<label for="search-input-oitfvc" class="screen-reader-text"><span>Search ...</span></label>
<input type="search" placeholder="Search ..." value="" name="s" id="search-input-oitfvc">
</form>
GET https://www.split.io/
<form role="search" method="get" class="bricks-search-form" action="https://www.split.io/">
<label for="search-input-aumvuh" class="screen-reader-text"><span>Search ...</span></label>
<input type="search" placeholder="Search ..." value="" name="s" id="search-input-aumvuh">
<button type="submit"><svg class="overlay-trigger" xmlns="http://www.w3.org/2000/svg" width="28" height="27" viewBox="0 0 28 27" fill="none">
<circle cx="13.3455" cy="13.3455" r="7.45581" transform="rotate(-12.0625 13.3455 13.3455)" stroke="white" stroke-width="3"></circle>
<line x1="19.8904" y1="17.3762" x2="25.2712" y2="21.6825" stroke="white" stroke-width="3"></line>
</svg></button>
</form>
GET https://www.split.io/
<form role="search" method="get" class="bricks-search-form" action="https://www.split.io/">
<label for="search-input-vwuyyb" class="screen-reader-text"><span>Search ...</span></label>
<input type="search" placeholder="Search ..." value="" name="s" id="search-input-vwuyyb">
</form>
Text Content
THIS WEBSITE USES COOKIES We use cookies to personalize content and ads, to provide social media features and to analyze our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services. Do not sell or share my personal information Use necessary cookies only OK Show details OK Use necessary cookies only Allow selection Allow all cookies Necessary Preferences Statistics Marketing Show details Cookie declaration [#IABV2SETTINGS#] About Necessary (25) Preferences (0) Statistics (26) Marketing (62) Unclassified (22) Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies. NameProviderPurposeExpiryTypedebugSplitThis cookie is used to detect errors on the website - this information is sent to the website's support staff in order to optimize the visitor's experience on the website.PersistentHTML__cf_bm [x5]Calendly G2Crowd Split Vimeo zoominfo.comThis cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.1 dayHTTPobject(#-#-##:#:#.#)cdn.amplitude.comHolds the users timezone.PersistentHTMLtest_cookieGoogleUsed to check if the user's browser supports cookies.1 dayHTTPBIGipServer#SplitUsed to distribute traffic to the website on several servers in order to optimise response times.SessionHTTPCookieConsent [x2]Split CookiebotStores the user's cookie consent state for the current domain1 yearHTTPrc::ajs.partnerpage.ioThis cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.PersistentHTMLrc::cjs.partnerpage.ioThis cookie is used to distinguish between humans and bots. SessionHTML1.gifCookiebotUsed to count the number of sessions to the website, necessary for optimizing CMP product delivery. SessionPixelli_gcLinkedInStores the user's cookie consent state for the current domain180 daysHTTPJSESSIONIDNew RelicPreserves users states across page requests.SessionHTTP#.#-#-#-#-#.ackperfalytics.comUsed to contain user’s survey and quiz answers in Local Storage.PersistentHTML#.#-#-#-#-#.inProgressperfalytics.comUsed to contain user’s survey and quiz answers in Local Storage.PersistentHTML#.#-#-#-#-#.queueperfalytics.comUsed to contain user’s survey and quiz answers in Local Storage.PersistentHTML#.#-#-#-#-#.reclaimEndperfalytics.comUsed to contain user’s survey and quiz answers in Local Storage.PersistentHTML#.#-#-#-#-#.reclaimStartperfalytics.comUsed to contain user’s survey and quiz answers in Local Storage.PersistentHTMLbscookieLinkedInThis cookie is used to identify the visitor through an application. This allows the visitor to login to a website through their LinkedIn application for example.1 yearHTTPtestcookieSplitThis cookie determines whether the browser accepts cookies.SessionHTTPCONSENTYouTubeUsed to detect if the visitor has accepted the marketing category in the cookie banner. This cookie is necessary for GDPR-compliance of the website. 2 yearsHTTP_cfuvidzoominfo.comThis cookie is a part of the services provided by Cloudflare - Including load-balancing, deliverance of website content and serving DNS connection for website operators. SessionHTTP Preference cookies enable a website to remember information that changes the way the website behaves or looks, like your preferred language or the region that you are in. We do not use cookies of this type. Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously. NameProviderPurposeExpiryType_fs_uidSplitThis cookie contains an ID string on the current session. This contains non-personal information on what subpages the visitor enters – this information is used to optimize the visitor's experience.PersistentHTMLziwsSessionSplitCollects statistics on the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been read.SessionHTMLziwsSessionIdSplitCollects statistics on the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been read.SessionHTMLc.gifMicrosoftCollects data on the user’s navigation and behavior on the website. This is used to compile statistical reports and heatmaps for the website owner.SessionPixelamplitude_unsent_#cdn.amplitude.comRegisters data on visitors' website-behaviour. This is used for internal analysis and website optimization. PersistentHTMLamplitude_unsent_identify_#cdn.amplitude.comRegisters data on visitors' website-behaviour. This is used for internal analysis and website optimization. PersistentHTMLNRBA_SESSIONNew RelicCollects data on the user’s navigation and behavior on the website. This is used to compile statistical reports and heatmaps for the website owner.PersistentHTMLAnalyticsSyncHistoryLinkedInUsed in connection with data-synchronization with third-party analysis service. 30 daysHTTPajs_anonymous_idperfalytics.comThis cookie is used to count how many times a website has been visited by different visitors - this is done by assigning the visitor an ID, so the visitor does not get registered twice.PersistentHTML_clckMicrosoftCollects data on the user’s navigation and behavior on the website. This is used to compile statistical reports and heatmaps for the website owner.1 yearHTTP_clskMicrosoftRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator. 1 dayHTTP_gaGoogleRegisters a unique ID that is used to generate statistical data on how the visitor uses the website.2 yearsHTTP_ga_#GoogleUsed by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit. 2 yearsHTTPajs_anonymous_idperfalytics.comThis cookie is used to identify a specific visitor - this information is used to identify the number of specific visitors on a website.1 yearHTTPamplitude_#cdn.amplitude.comRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator. 10 yearsHTTPamplitude_id_#cdn.amplitude.comRegisters data on visitors' website-behaviour. This is used for internal analysis and website optimization. 10 yearsHTTPfs_luaedge.fullstory.comCollects data on the user’s navigation and behavior on the website. This is used to compile statistical reports and heatmaps for the website owner.1 dayHTTPfs_uidedge.fullstory.comThis cookie contains an ID string on the current session. This contains non-personal information on what subpages the visitor enters – this information is used to optimize the visitor's experience.1 yearHTTPpersonalization_idTwitter Inc.This cookie is set by Twitter - The cookie allows the visitor to share content from the website onto their Twitter profile. 400 daysHTTPvuidVimeoCollects data on the user's visits to the website, such as which pages have been read.2 yearsHTTP_cltkMicrosoftRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator. SessionHTMLCLIDMicrosoftCollects data on the user’s navigation and behavior on the website. This is used to compile statistical reports and heatmaps for the website owner.1 yearHTTPtdGoogleRegisters statistical data on users' behaviour on the website. Used for internal analytics by the website operator. SessionPixelamplitude_cookie_testcdn.amplitude.comRegisters data on visitors' website-behaviour. This is used for internal analysis and website optimization. SessionHTTPsliguidSalesLoftContains an visitor ID - This is used to track visitors' navigation and interaction on the website for internal website-optimization. 1 yearHTTPslirequestedSalesLoftContains an visitor ID - This is used to track visitors' navigation and interaction on the website for internal website-optimization. 1 yearHTTP Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers. NameProviderPurposeExpiryTypeMR [x2]MicrosoftUsed to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. 7 daysHTTPMUID [x2]MicrosoftUsed widely by Microsoft as a unique user ID. The cookie enables user tracking by synchronising the ID across many Microsoft domains.1 yearHTTPSRM_BMicrosoftTracks the user’s interaction with the website’s search-bar-function. This data can be used to present the user with relevant products or services. 1 yearHTTPANONCHKMicrosoftRegisters data on visitors from multiple visits and on multiple websites. This information is used to measure the efficiency of advertisement on websites. 1 dayHTTPSMMicrosoftRegisters a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads.SessionHTTPCMIDCasale MediaCollects visitor data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.1 yearHTTPCMPROCasale MediaCollects data on visitor behaviour from multiple websites, in order to present more relevant advertisement - This also allows the website to limit the number of times that they are shown the same advertisement. 3 monthsHTTPCMPSCasale MediaCollects visitor data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.3 monthsHTTPrumCasale MediaCollects data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.SessionPixeltuuidDemandBaseCollects visitor data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads.400 daysHTTPtuuid_luDemandBaseContains a unique visitor ID, which allows Bidswitch.com to track the visitor across multiple websites. This allows Bidswitch to optimize advertisement relevance and ensure that the visitor does not see the same ads multiple times. 400 daysHTTPlastExternalReferrer Meta Platforms, Inc.Detects how the user reached the website by registering their last URL-address.PersistentHTMLlastExternalReferrerTime Meta Platforms, Inc.Detects how the user reached the website by registering their last URL-address.PersistentHTMLIDEGoogleUsed by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.1 yearHTTPpagead/landingGoogleCollects data on visitor behaviour from multiple websites, in order to present more relevant advertisement - This also allows the website to limit the number of times that they are shown the same advertisement. SessionPixel_fs_tab_idedge.fullstory.comTracks the individual sessions on the website, allowing the website to compile statistical data from multiple visits. This data can also be used to create leads for marketing purposes.SessionHTMLads/ga-audiencesGoogleUsed by Google AdWords to re-engage visitors that are likely to convert to customers based on the visitor's online behaviour across websites.SessionPixelpagead/1p-user-list/#GoogleTracks if the user has shown interest in specific products or events across multiple websites and detects how the user navigates between sites. This is used for measurement of advertisement efforts and facilitates payment of referral-fees between websites.SessionPixel#,#GoogleCollects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. PersistentHTML#,#_expiresAtGoogleCollects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. PersistentHTMLbcookieLinkedInUsed by the social networking service, LinkedIn, for tracking the use of embedded services.1 yearHTTPli_sugrLinkedInCollects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. 3 monthsHTTPlidcLinkedInUsed by the social networking service, LinkedIn, for tracking the use of embedded services.1 dayHTTPUserMatchHistoryLinkedInUsed to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. 30 daysHTTPsite_identitySalesloftCollects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. 1 yearHTTP__tld__perfalytics.comUsed to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. SessionHTTP_fbp Meta Platforms, Inc.Used by Facebook to deliver a series of advertisement products such as real time bidding from third party advertisers.3 monthsHTTP_gcl_auGoogleUsed by Google AdSense for experimenting with advertisement efficiency across websites using their services. 3 monthsHTTPajs%3Acookiesperfalytics.comCollects data on visitors. This information is used to assign visitors into segments, making website advertisement more efficient. 1 yearHTTPajs%3Atestperfalytics.comCollects data on visitors. This information is used to assign visitors into segments, making website advertisement more efficient. 1 yearHTTPi/adsct [x2]Twitter Inc.The cookie is used by Twitter.com in order to determine the number of visitors accessing the website through Twitter advertisement content. SessionPixelmuc_adsTwitter Inc.Collects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. 400 daysHTTP_session_idG2CrowdStores visitors' navigation by registering landing pages - This allows the website to present relevant products and/or measure their advertisement efficiency on other websites. 14 daysHTTPtv_UIDMTelariaPending400 daysHTTPtvidTelariaPresents the user with relevant content and advertisement. The service is provided by third-party advertisement hubs, which facilitate real-time bidding for advertisers.1 yearHTTPi/jot/embedsTwitter Inc.Sets a unique ID for the visitor, that allows third party advertisers to target the visitor with relevant advertisement. This pairing service is provided by third party advertisement hubs, which facilitates real-time bidding for advertisers.SessionPixelRichHistoryTwitter Inc.Collects data on visitors' preferences and behaviour on the website - This information is used make content and advertisement more relevant to the specific visitor. SessionHTML_mkto_trkMarketoContains data on visitor behaviour and website interaction. This is used in context with the email marketing service Marketo.com, which allows the website to target visitors via email. 2 yearsHTTPsliregSalesLoftRegisters user behaviour and navigation on the website, and any interaction with active campaigns. This is used for optimizing advertisement and for efficient retargeting. 7 daysHTTPLAST_RESULT_ENTRY_KEYYouTubeUsed to track user’s interaction with embedded content.SessionHTTPLogsDatabaseV2:V#||LogsRequestsStoreYouTubePendingPersistentIDBnextIdYouTubeUsed to track user’s interaction with embedded content.SessionHTTPremote_sidYouTubeNecessary for the implementation and functionality of YouTube video-content on the website. SessionHTTPrequestsYouTubeUsed to track user’s interaction with embedded content.SessionHTTPServiceWorkerLogsDatabase#SWHealthLogYouTubeNecessary for the implementation and functionality of YouTube video-content on the website. PersistentIDBTESTCOOKIESENABLEDYouTubeUsed to track user’s interaction with embedded content.1 dayHTTPVISITOR_INFO1_LIVEYouTubeTries to estimate the users' bandwidth on pages with integrated YouTube videos.180 daysHTTPVISITOR_PRIVACY_METADATAYouTubeStores the user's cookie consent state for the current domain180 daysHTTPYSCYouTubeRegisters a unique ID to keep statistics of what videos from YouTube the user has seen.SessionHTTPyt.innertube::nextIdYouTubeRegisters a unique ID to keep statistics of what videos from YouTube the user has seen.PersistentHTMLytidb::LAST_RESULT_ENTRY_KEYYouTubeStores the user's video player preferences using embedded YouTube videoPersistentHTMLYtIdbMeta#databasesYouTubeUsed to track user’s interaction with embedded content.PersistentIDByt-remote-cast-availableYouTubeStores the user's video player preferences using embedded YouTube videoSessionHTMLyt-remote-cast-installedYouTubeStores the user's video player preferences using embedded YouTube videoSessionHTMLyt-remote-connected-devicesYouTubeStores the user's video player preferences using embedded YouTube videoPersistentHTMLyt-remote-device-idYouTubeStores the user's video player preferences using embedded YouTube videoPersistentHTMLyt-remote-fast-check-periodYouTubeStores the user's video player preferences using embedded YouTube videoSessionHTMLyt-remote-session-appYouTubeStores the user's video player preferences using embedded YouTube videoSessionHTMLyt-remote-session-nameYouTubeStores the user's video player preferences using embedded YouTube videoSessionHTML Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies. NameProviderPurposeExpiryType_fs_luaSplitPendingPersistentHTMLunifiedScriptVerifiedSplitPendingSessionHTMLhb_actionsassets.adoberesources.netPendingPersistentHTMLhb_sessionIdassets.adoberesources.netPendingPersistentHTMLhb_tsassets.adoberesources.netPendingSessionHTMLfpjs_group_idperfalytics.comPendingPersistentHTMLfpjs_group_propertiesperfalytics.comPendingPersistentHTMLfpjs_user_idperfalytics.comPendingPersistentHTMLfpjs_user_traitsperfalytics.comPendingPersistentHTMLmp_eventQueueperfalytics.comPendingPersistentHTML__mp_opt_in_out_5cb8cc91-e409-41c2-af0d-b337e1d966a7perfalytics.comPendingSessionHTTPfpjs_group_idperfalytics.comPendingSessionHTTPfpjs_user_idperfalytics.comPendingSessionHTTPmp_5cb8cc91-e409-41c2-af0d-b337e1d966a7_perfalytics [x2]perfalytics.comPending1 yearHTTPmp_eventQueue [x2]perfalytics.comPendingSessionHTTP_zitokjs.zi-scripts.comPending1 yearHTTPdomain_tracker/roi-calculator-experience-1-2-1/index.htmlSplitPendingPersistentHTMLexperience_tracker/roi-calculator-experience-1-2-1/index.htmlSplitPendingPersistentHTMLmobile-help-overlaySplitPendingSessionHTTPstorageUrlSplitPendingPersistentHTML [#IABV2_LABEL_PURPOSES#] [#IABV2_LABEL_FEATURES#] [#IABV2_LABEL_PARTNERS#] [#IABV2_BODY_PURPOSES#] [#IABV2_BODY_FEATURES#] [#IABV2_BODY_PARTNERS#] Cookies are small text files that can be used by websites to make a user's experience more efficient. The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission. This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages. Cookie declaration last updated on 05.01.24 by Cookiebot * Why Split * Product * FEATURE DELIVERY & CONTROL Feature FlagsTargeting RulesDynamic ConfigurationCollaboration & Workflows * FEATURE MEASUREMENT & LEARNING Automated Rollout MonitoringAlerts & ActionsFeature Experimentation * ENTERPRISE READINESS Enterprise Capabilities * ArchitectureIntegrationsSupported SDKsAPI DocumentationRelease Notes * Use Cases * BY NEED Release FasterTriage InstantlyTest & Iterate QuicklyImprove Dev Happiness * BY INDUSTRY Financial ServicesHealthcareMedia & EntertainmentRetailSoftwareTravel & Transport * Resources * DEVELOPER RESOURCES Developer HubRelease NotesDocumentationAPI DocumentationSDK Documentation * CONTENT HUB All ResourcesCustomer StoriesBlogWebinar / Video * SUCCESS Customer SuccessSupportTraining & CertificationSlack CommunityHelp Center * Guide to Feature FlagsGuide to Product MetricsFeature Delivery Glossary * Pricing * Company * COMPANY About UsCareersContact UsPartnersTrust & Security * Book DemoFree Account SEARCH SITE Search ... × Login WHY SPLIT PRODUCTS FEATURE DELIVERY & CONTROL Feature FlagsTargeting RulesDynamic ConfigurationCollaboration & Workflows FEATURE MEASUREMENT & LEARNING Automated Rollout MonitoringAlerts & ActionsFeature Experimentation ENTERPRISE READINESS Enterprise Capabilities RELATED LINKS ArchitectureIntegrationsSupported SDKsAPI DocumentationRelease Notes USE CASES BY NEED Release FasterTriage InstantlyTest & Iterate ConfidentlyImprove Dev Happiness BY INDUSTRY Financial ServicesHealthcareMedia & EntertainmentRetailSoftwareTravel & Transport RESOURCES DEVELOPER RESOURCES Developer HubRelease NotesDocumentationAPI DocumentationSDK Documentation CONTENT HUB All ResourcesCustomer StoriesBlogWebinar / Video SUCCESS SupportTraining & CertificationSlack CommunityHelp Center RELATED LINKS Guide to Feature FlagsGuide to Product MetricsFeature Delivery Glossary PRICING COMPANY About UsCareersContact UsPartnersTrust & Security Search ... Book DemoFree Account SEARCH SITE Search ... × MINIMIZE WEBPAGE LATENCY WITH SPLIT FLAG SETS CONTENTS * Define Your Feature Flags * Set Up Your Flag Sets * Take Away Blog > Features By Magdalena Sano — 6 min read December 11, 2023 * * Think of all you can do with a feature flag. You can achieve a/b/n testing in production, gradual rollouts, instant rollbacks, gated releases, safe incremental releases on your schedule, and more. Feature flags lift you to soaring heights. Now think of thousands—no tens of thousands—of feature flags. Alarming? If you are a web developer, do you picture your blazing website grinding to a halt, server rapidly paging out memory and crashing, click through rates nose-diving, conversion rates destroyed, and users bouncing? How can such a catastrophe be averted? In the past we would say, you could pick out your needed feature flags by name one by one. Not a savory thought. Now, you can use flag sets! Sweet. Divide up your flags as server-client, web-mobile, campaigns, releases—as you like. Only the flag sets you specify are loaded, and you can flexibly add and remove flags from different flag sets. Groupings can even overlap. (Remember good ol’ subsets and intersection of sets from Algebra?) In this blog, we’ll show you how to make use of flag sets and share a taste of the performance benefits that can result. You’ll find the complete code example on github. To run the code, you will need: * A Split account (with the Measurement and Learning add-on) or switch on a free account today. * Visual Studio Code * The NPM package manager * curl on the command line Let’s begin. DEFINE YOUR FEATURE FLAGS In Split UI, you’ll need to set up the following Split feature flags: * One feature flag named image_size, with treatment values h, l (the lowercase letter ‘L’), m, t, s, and b, serving h * A second feature flag named network_speed, with treatment values Regular3G, Good3G, Regular4G, and WiFi, serving Regular3G * The last feature flag named optimize_with_flagsets, with treatment values on and off, distributing treatments 50% on and 50% off Be sure that the feature flags are created with the same traffic type and defined for the same Split environment. To evaluate these flags in your code, you’ll need to copy the server-side and client-side API keys retrieved from your Admin settings page in Split UI (as shown below) to your .env file. SET UP YOUR FLAG SETS Use Split API to create a flag set by using the following curl command: curl --location --request POST "https://app.split.io/internal/api/v3/flag-sets" --header "Authorization: Bearer <YOUR_GLOBAL_ADMIN_API_KEY>" --header "Content-Type: application/json" --data-raw "{ \"name\": \"frontend\", \"description\": \"The feature flags that are downloaded to the web client\", \"workspace\": { \"id\": \"<YOUR_SPLIT_WORKSPACE_ID>\", \"type\": \"workspace\" } }" We’ll need to substitute some credentials. On your Admin settings page in Split UI, you can create your Admin API key (set Permissions as All Environments), and your workspace ID can be found in the page URL, as shown below. Now we can run the curl command, which creates a flag set called frontend that we can associate with a flag definition in Split UI, as shown below. When our javascript code runs in the web client, SplitSuite requests the Split feature flag definitions from Split cloud. In our code, we specify the subset of the Split feature flag definitions that we want to download. We do this by configuring the SplitSuite object with the name of the flag set frontend, as shown below. import { SplitSuite } from '@splitsoftware/browser-suite'; const client = SplitSuite({ core: { authorizationKey: process.env.CLIENT_SIDE_SDK_KEY, // In this example, we get the user key from URL query parameter `id` key: new URLSearchParams(window.location.search).get('id'), // Specifying the traffic type for the user key is optional, the value is 'user' by default trafficType: 'user' }, sync: { splitFilters: [{ type: 'bySet', values: ['frontend'] }] } }).client(); client.on(client.Event.SDK_READY, function() { // Evaluate a feature flag let imageSize = client.getTreatment(process.env.FEATURE_FLAG_IMAGE_SIZE); // Use the feature flag’s returned value... code omitted for simplicity } When we run the site, we can see the Split definitions as they are retrieved from Split cloud in DevTools as shown below. If we put this optimization behind the feature flag called ‘optimize_with_flagsets’, we can measure the impact of using our flag set, as shown below. (No need to comment on the brilliantly imaginative flag name. Yeah, thanks.) We can see an average 43.37% improvement when we limit the flags fetched from Split by using a flag set (rather than downloading 700 flag definitions in the off treatment). In our case this is an average latency decrease of 257 ms. TAKE AWAY With Split flag sets, you can keep your client smart but lightweight by loading only the subset of feature flags you need. Kiss latency goodbye and see your app performance really take off. So then, what will you do with your feature flags? Especially, what will you do with your flag sets? A few words of appreciation: For convincing us of the browsing latency reduction possibilities of flag sets, rather than hosting-costs savings, security improvements, or other (also interesting but less relevant) benefits that we were considering writing about, credit goes to Johannes Liegl at Split. (To celebrate flag sets’ success, Johannes did a high five and secret handshake with his counterpart on this project Nicolas Zelaya.) Thanks always to Krishna Ramisetty for much appreciated and seldom mentioned solid guidance on all my blogs. SWITCH IT ON WITH SPLIT Split gives product development teams the confidence to release features that matter faster. It’s the only feature management and experimentation solution that automatically attributes data-driven insight and metrics to every feature that’s released—all while enabling astoundingly easy deployment, profound risk reduction, and better visibility across teams. Split offers more than a platform: It offers partnership. By sticking with customers every step of the way, Split illuminates the path toward continuous improvement and timely innovation. Switch on a trial account, schedule a demo, or contact us for further questions. GET SPLIT CERTIFIED Split Arcade includes product explainer videos, clickable product tutorials, manipulatable code examples, and interactive challenges. WANT TO DIVE DEEPER? We have a lot to explore that can help you understand feature flags. Learn more about benefits, use cases, and real world applications that you can try. Blog Features From featured category recommended content INTRODUCING SWITCH, SPLIT’S NEW AI DEVELOPER ASSISTANT 6 minute read View Blog Blog Experimentation From featured category recommended content EXPERIMENTING WITH STATISTICAL RIGOR TO MAKE DATA-DRIVEN TACO DECISIONS 6 minute read View Blog Blog Industry Trends From featured category recommended content RETHINKING DORA: MEAN TIME TO RESTORE 6 minute read View Blog Webinar Features From recent category recommended content HOW TO A/B TEST EVERY FEATURE RELEASE 6 minute read View Webinar Blog Features From recent category recommended content REDUCING RISK BY TESTING EVERY CHANGE IN PRODUCTION 6 minute read View Blog Blog Features From recent category recommended content SPLIT AND JIRA: SUPPORTING PROGRESSIVE DELIVERY 6 minute read View Blog RELEASE NEW FEATURES FASTER We’re excited to accompany you on your journey as you build faster, release safer, and launch impactful products. Free AccountContact Us WANT TO DIVE DEEPER? We have a lot to explore that can help you understand feature flags. Learn more about benefits, use cases, and real world applications that you can try. Blog Features From featured category recommended content NOT ALL CONNECTIONS ARE CREATED EQUAL: INTRODUCING STREAMING ARCHITECTURE 6 minute read View Blog Blog Code From featured category recommended content MOCKING REQUEST BODIES FOR API DEBUGGING 6 minute read View Blog Webinar Company From featured category recommended content FLAGSHIP 2022: DARK LAUNCHES – DEPLOY OFTEN WITHOUT THE RISK 6 minute read View Webinar CREATE IMPACT WITH EVERYTHING YOU BUILD We’re excited to accompany you on your journey as you build faster, release safer, and launch impactful products. Free AccountContact Us PricingWhy Split?Free AccountBook a Demo PRODUCT Feature FlagsTargeting & SegmentationDynamic ConfigurationCollaboration and WorkflowsAutomated Rollout MonitoringAlerts & ActionsFeature ExperimentationArchitectureEnterprise CapabilitiesIntegrationsSupported SDKsAPI DocumentationRelease Notes USE CASES Release FasterTriage InstantlyTest & Iterate ConfidentlyImprove Dev HappinessFinancial ServicesHealthcareMedia & EntertainmentRetailSoftwareTravel & Transport RESOURCES Content HubDeveloper HubSlack CommunityCustomer SuccessDocumentationSDK DocumentationHelp CenterTraining & Certification COMPANY About UsCareersContact UsSupportPartnersTrustPress & Media Copyright © 2024 Split Software, Inc. Your Privacy RightsCookie StatementTerms of ServicePrivacy PolicyDPA