launchdarkly.com Open in urlscan Pro
199.232.198.22  Public Scan

Submitted URL: https://em.launchdarkly.com/dc/3xbM4tQLBeNyhupI5OyGyuXpNzJuh_2SbXuwyFqfEnOIZvINhhI28ttD00ezStfJPSAWlsPtjbGWM1wXXJIO9XMIo0fhV...
Effective URL: https://launchdarkly.com/blog/what-are-feature-flags/?utm_source=marketo&utm_medium=email&utm_campaign=fufn&utm_term=body...
Submission: On November 28 via api from IE — Scanned from DE

Form analysis 7 forms found in the DOM

<form>
  <fieldset>
    <legend class="visuallyhidden">Consent Selection</legend>
    <div id="CybotCookiebotDialogBodyFieldsetInnerContainer">
      <div class="CybotCookiebotDialogBodyLevelButtonWrapper"><label class="CybotCookiebotDialogBodyLevelButtonLabel" for="CybotCookiebotDialogBodyLevelButtonNecessary"><span
            class="CybotCookiebotDialogBodyLevelButtonDescription">Necessary</span></label>
        <div class="CybotCookiebotDialogBodyLevelButtonSliderWrapper CybotCookiebotDialogBodyLevelButtonSliderWrapperDisabled"><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonNecessary"
            class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelButtonDisabled" disabled="disabled" checked="checked"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></div>
      </div>
      <div class="CybotCookiebotDialogBodyLevelButtonWrapper"><label class="CybotCookiebotDialogBodyLevelButtonLabel" for="CybotCookiebotDialogBodyLevelButtonPreferences"><span
            class="CybotCookiebotDialogBodyLevelButtonDescription">Preferences</span></label>
        <div class="CybotCookiebotDialogBodyLevelButtonSliderWrapper"><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonPreferences" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox"
            data-target="CybotCookiebotDialogBodyLevelButtonPreferencesInline" checked="checked" tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></div>
      </div>
      <div class="CybotCookiebotDialogBodyLevelButtonWrapper"><label class="CybotCookiebotDialogBodyLevelButtonLabel" for="CybotCookiebotDialogBodyLevelButtonStatistics"><span
            class="CybotCookiebotDialogBodyLevelButtonDescription">Statistics</span></label>
        <div class="CybotCookiebotDialogBodyLevelButtonSliderWrapper"><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonStatistics" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox"
            data-target="CybotCookiebotDialogBodyLevelButtonStatisticsInline" checked="checked" tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></div>
      </div>
      <div class="CybotCookiebotDialogBodyLevelButtonWrapper"><label class="CybotCookiebotDialogBodyLevelButtonLabel" for="CybotCookiebotDialogBodyLevelButtonMarketing"><span
            class="CybotCookiebotDialogBodyLevelButtonDescription">Marketing</span></label>
        <div class="CybotCookiebotDialogBodyLevelButtonSliderWrapper"><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonMarketing" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox"
            data-target="CybotCookiebotDialogBodyLevelButtonMarketingInline" checked="checked" tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></div>
      </div>
    </div>
  </fieldset>
</form>

<form><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonNecessaryInline" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelButtonDisabled" disabled="disabled" checked="checked"> <span
    class="CybotCookiebotDialogBodyLevelButtonSlider"></span></form>

<form><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonPreferencesInline" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBodyLevelButtonPreferences"
    checked="checked" tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></form>

<form><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonStatisticsInline" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBodyLevelButtonStatistics"
    checked="checked" tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></form>

<form><input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonMarketingInline" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBodyLevelButtonMarketing" checked="checked"
    tabindex="0"> <span class="CybotCookiebotDialogBodyLevelButtonSlider"></span></form>

<form id="mktoForm_2272" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 181px;"
  data-nb-form="c982c8e4-5594-4e75-8bf2-1cc4ec610efe">
  <style type="text/css">
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
      color: #fff;
      border: 1px solid #75ae4c;
      padding: 0.4em 1em;
      font-size: 1em;
      background-color: #99c47c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
      background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
      background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
      background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
      outline: none;
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
      background-color: #75ae4c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
      background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
      background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
      background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
    }
  </style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol">
      <div class="mktoOffset"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth">
          <div class="mktoAsterix">*</div>
        </label>
        <div class="mktoGutter mktoHasWidth"></div><input id="Email" name="Email" placeholder="Work Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired"
          aria-required="true" data-nb-id="c982c8e4-5594-4e75-8bf2-1cc4ec610efe"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol">
      <div class="mktoOffset"></div>
      <div class="mktoFieldWrap"><label for="maplesyrup" id="Lblmaplesyrup" class="mktoLabel mktoHasWidth">
          <div class="mktoAsterix">*</div>maplesyrup:
        </label>
        <div class="mktoGutter mktoHasWidth"></div><input id="maplesyrup" name="maplesyrup" maxlength="255" aria-labelledby="Lblmaplesyrup Instructmaplesyrup" type="text" class="mktoField mktoTextField mktoHasWidth"><span id="Instructmaplesyrup"
          tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="LeadSource" class="mktoField mktoFieldDescriptor mktoFormCol" value="Website">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="ltutmcampaign" class="mktoField mktoFieldDescriptor mktoFormCol" value="fufn">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="ltutmcontent" class="mktoField mktoFieldDescriptor mktoFormCol" value="null">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="ltutmmedium" class="mktoField mktoFieldDescriptor mktoFormCol" value="email">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="ltutmsource" class="mktoField mktoFieldDescriptor mktoFormCol" value="marketo">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="ltutmterm" class="mktoField mktoFieldDescriptor mktoFormCol" value="bodycopy1">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple"><button type="submit" class="mktoButton">Yes, send me emails</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="2272"><input
    type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="850-KKH-319">
</form>

<form novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;">
</form>

Text Content

Powered by Cookiebot
 * Consent
 * Details
 * [#IABV2SETTINGS#]
 * About


THIS WEBSITE USES COOKIES

We use cookies to personalise content and ads, to provide social media features
and to analyse 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.
Consent Selection
Necessary

Preferences

Statistics

Marketing

Show details
Necessary 78

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.
Airtable
7
Learn more about this provider
__Host-airtable-sessionContains a specific ID for the current session. This is
necessary for running the website correctly.
Expiry: 1 yearType: HTTP
__Host-airtable-session.sigContains a specific ID for the current session. This
is necessary for running the website correctly.
Expiry: 1 yearType: HTTP
AWSELBCORSRegisters which server-cluster is serving the visitor. This is used in
context with load balancing, in order to optimize user experience.
Expiry: SessionType: HTTP
brwDetects and logs potential errors on third-party provided functions on the
website.
Expiry: 1 yearType: HTTP
lightstep/clock_state/lightstep.airtable.comNecessary for the website's booking
functionality.
Expiry: SessionType: HTML
AWSALBRegisters which server-cluster is serving the visitor. This is used in
context with load balancing, in order to optimize user experience.
Expiry: 7 daysType: HTTP
AWSALBCORSRegisters which server-cluster is serving the visitor. This is used in
context with load balancing, in order to optimize user experience.
Expiry: 7 daysType: HTTP
Bizible
5
Learn more about this provider
_biz_flagsAThis cookie serves multiple purposes; it determines whether the user
has submitted any forms, performed cross-domain migration or has made any
tracking opt-out choices.
Expiry: 1 yearType: HTTP
_biz_nACollects data on visitors' preferences and behaviour on the website -
This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: 1 yearType: HTTP
_biz_pendingACollects data on visitors' preferences and behaviour on the website
- This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: 1 yearType: HTTP
_biz_sidCollects data on visitors' preferences and behaviour on the website -
This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: 1 dayType: HTTP
_biz_uidCollects data on visitors' preferences and behaviour on the website -
This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: 1 yearType: HTTP
Codepen
2
Learn more about this provider
__cfruid [x2]This cookie is a part of the services provided by Cloudflare -
Including load-balancing, deliverance of website content and serving DNS
connection for website operators.
Expiry: SessionType: HTTP
Cookiebot
1
Learn more about this provider
CookieConsentStores the user's cookie consent state for the current domain
Expiry: 1 yearType: HTTP
Crazyegg
2
Learn more about this provider
_ce.cchStores the user's cookie consent state for the current domain
Expiry: SessionType: HTTP
_ce.gtldHolds which URL should be presented to the visitor when visiting the
site.
Expiry: SessionType: HTTP
Google
5
Learn more about this provider
_GRECAPTCHAThis 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.
Expiry: 179 daysType: HTTP
rc::aThis 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.
Expiry: PersistentType: HTML
rc::bThis cookie is used to distinguish between humans and bots.
Expiry: SessionType: HTML
rc::cThis cookie is used to distinguish between humans and bots.
Expiry: SessionType: HTML
_ga_#Used 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.
Expiry: 2 yearsType: HTTP
Hotjar
6
Learn more about this provider
_hjAbsoluteSessionInProgressThis 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.
Expiry: 1 dayType: HTTP
_hjFirstSeenThis cookie is used to determine if the visitor has visited the
website before, or if it is a new visitor on the website.
Expiry: 1 dayType: HTTP
_hjIncludedInPageviewSampleUsed to detect whether the user navigation and
interactions are included in the website’s data analytics.
Expiry: 1 dayType: HTTP
_hjIncludedInSessionSampleRegisters data on visitors' website-behaviour. This is
used for internal analysis and website optimization.
Expiry: 1 dayType: HTTP
_hjSession_#Collects statistics on the visitor's visits to the website, such as
the number of visits, average time spent on the website and what pages have been
read.
Expiry: 1 dayType: HTTP
_hjSessionUser_#Collects statistics on the visitor's visits to the website, such
as the number of visits, average time spent on the website and what pages have
been read.
Expiry: 1 yearType: HTTP
LaunchDarkly
15
Learn more about this provider
@@scroll#Pending
Expiry: SessionType: HTML
_ce.sCollects data on the user’s navigation and behavior on the website. This is
used to compile statistical reports and heatmaps for the website owner.
Expiry: 1 yearType: HTTP
_gcl_auUsed by Google AdSense for experimenting with advertisement efficiency
across websites using their services.
Expiry: 3 monthsType: HTTP
_uetsidCollects 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.
Expiry: 1 dayType: HTTP
_uetvidUsed to track visitors on multiple websites, in order to present relevant
advertisement based on the visitor's preferences.
Expiry: 1 yearType: HTTP
ce_clockSets a timestamp for when the visitor entered the website. This is used
for analytical purposes on the website.
Expiry: PersistentType: HTML
ce_successful_csp_checkDetects whether user behaviour tracking should be active
on the website.
Expiry: PersistentType: HTML
cebsTracks 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.
Expiry: SessionType: HTTP
cebspThis cookie is used to determine when the visitor last visited the
different subpages on the website.
Expiry: SessionType: HTTP
cetabidSets a unique ID for the session. This allows the website to obtain data
on visitor behaviour for statistical purposes.
Expiry: SessionType: HTML
ld:#:#Pending
Expiry: PersistentType: HTML
ld:#:$diagnosticsPending
Expiry: PersistentType: HTML
ld:$anonUserIdPending
Expiry: PersistentType: HTML
PARMONIC_SESSION_IDPending
Expiry: PersistentType: HTML
ubvtCollects data 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 loaded with
the purpose of generating reports for optimising the website content.
Expiry: 2 daysType: HTTP
LinkedIn
2
Learn more about this provider
ln_orRegisters statistical data on users' behaviour on the website. Used for
internal analytics by the website operator.
Expiry: 1 dayType: HTTP
li_gcStores the user's cookie consent state for the current domain
Expiry: 179 daysType: HTTP
Marketo
1
Learn more about this provider
_mkto_trkContains 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.
Expiry: 2 yearsType: HTTP
New Relic
1
Learn more about this provider
JSESSIONIDPreserves users states across page requests.
Expiry: SessionType: HTTP
Reddit
1
Learn more about this provider
_rdt_uuidUsed to track visitors on multiple websites, in order to present
relevant advertisement based on the visitor's preferences.
Expiry: 3 monthsType: HTTP
Segment
2
Learn more about this provider
__tld__Used to track visitors on multiple websites, in order to present relevant
advertisement based on the visitor's preferences.
Expiry: SessionType: HTTP
ajs_user_idCollects data on visitors' preferences and behaviour on the website -
This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: PersistentType: HTML
Wistia
2
Learn more about this provider
undefinedCollects data on visitor interaction with the website's video-content.
This data is used to make the website's video-content more relevant towards the
visitor.
Expiry: PersistentType: HTML
wistiaUsed by the website to track the visitor's use of video-content - The
cookie roots from Wistia, which provides video-software to websites.
Expiry: PersistentType: HTML
app-sj31.marketo.com
codepen.io
go.launchdarkly.com
a.quora.com
vimeo.com

5
__cf_bm [x5]This 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.
Expiry: 1 dayType: HTTP
app-sj31.marketo.com
go.launchdarkly.com

2
BIGipServer# [x2]Used to distribute traffic to the website on several servers in
order to optimise response times.
Expiry: SessionType: HTTP
cdn.amplitude.com
5
amplitude_#Registers statistical data on users' behaviour on the website. Used
for internal analytics by the website operator.
Expiry: SessionType: HTTP
amplitude_cookie_testDetects whether partner data synchronization is functioning
and currently running - This function sends user data between third-party
advertisement companies for the purpose of targeted advertisements.
Expiry: SessionType: HTTP
amplitude_id_#Pending
Expiry: SessionType: HTTP
amplitude_unsent_#Used in context with the website’s pop-up questionnaires and
messengering. The data is used for statistical or marketing purposes.
Expiry: PersistentType: HTML
amplitude_unsent_identify_#Used in context with the website’s pop-up
questionnaires and messengering. The data is used for statistical or marketing
purposes.
Expiry: PersistentType: HTML
j.6sc.co
4
_an_uidPresents the user with relevant content and advertisement. The service is
provided by third-party advertisement hubs, which facilitate real-time bidding
for advertisers.
Expiry: 6 daysType: HTTP
_gd_sessionCollects 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.
Expiry: 1 dayType: HTTP
_gd_svisitorCollects 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.
Expiry: 2 yearsType: HTTP
_gd_visitorCollects 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.
Expiry: 2 yearsType: HTTP
js.qualified.com
2
__q_domainTestPending
Expiry: SessionType: HTTP
__q_state_BN8NXAwRcuN5KnVdPending
Expiry: 10 yearsType: HTTP
play.google.com
www.youtube.com

2
CONSENT [x2]Used to detect if the visitor has accepted the marketing category in
the cookie banner. This cookie is necessary for GDPR-compliance of the website.
Expiry: 2 yearsType: HTTP
web.cvent.com
www.google-analytics.com

4
_gat [x2]Used by Google Analytics to throttle request rate
Expiry: 1 dayType: HTTP
_gid [x2]Registers a unique ID that is used to generate statistical data on how
the visitor uses the website.
Expiry: 1 dayType: HTTP
web.cvent.com
www.googletagmanager.com

2
_ga [x2]Registers a unique ID that is used to generate statistical data on how
the visitor uses the website.
Expiry: 2 yearsType: HTTP
Preferences 4

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.
LinkedIn
2
Learn more about this provider
lang [x2]Remembers the user's selected language version of a website
Expiry: SessionType: HTTP
Wistia
2
Learn more about this provider
loglevelMaintains settings and outputs when using the Developer Tools Console on
current session.
Expiry: PersistentType: HTML
wistia-video-progress-#Contains a timestamp for the website’s video-content.
This allows the user to resume watching without having to start over, if the
user leaves the video or website.
Expiry: PersistentType: HTML
Statistics 8

Statistic cookies help website owners to understand how visitors interact with
websites by collecting and reporting information anonymously.
Adobe
1
Learn more about this provider
uCollects data 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 loaded with
the purpose of generating reports for optimising the website content.
Expiry: SessionType: Pixel
Bizible
1
Learn more about this provider
m/uCollects data on the user’s navigation and behavior on the website. This is
used to compile statistical reports and heatmaps for the website owner.
Expiry: SessionType: Pixel
Cvent
2
Learn more about this provider
_dd_sRegisters the website's speed and performance. This function can be used in
context with statistics and load-balancing.
Expiry: 1 dayType: HTTP
dd_cookie_test_#Registers data on visitors' website-behaviour. This is used for
internal analysis and website optimization.
Expiry: 1 dayType: HTTP
LinkedIn
1
Learn more about this provider
AnalyticsSyncHistoryUsed in connection with data-synchronization with
third-party analysis service.
Expiry: 29 daysType: HTTP
Twitter Inc.
1
Learn more about this provider
personalization_idThis cookie is set by Twitter - The cookie allows the visitor
to share content from the website onto their Twitter profile.
Expiry: 2 yearsType: HTTP
Vimeo
1
Learn more about this provider
vuidCollects data on the user's visits to the website, such as which pages have
been read.
Expiry: 2 yearsType: HTTP
YouTube
1
Learn more about this provider
yt-player-headers-readableUsed to determine the optimal video quality based on
the visitor's device and network settings.
Expiry: PersistentType: HTML
Marketing 33

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.
Bizible
1
Learn more about this provider
m/ipvRegisters user behaviour and navigation on the website, and any interaction
with active campaigns. This is used for optimizing advertisement and for
efficient retargeting.
Expiry: SessionType: Pixel
Claritas
1
Learn more about this provider
barometric[cuid]Collects data on visitors. This information is used to assign
visitors into segments, making website advertisement more efficient.
Expiry: 1 yearType: HTTP
Codepen
1
Learn more about this provider
cp_sessionRegisters user behaviour and navigation on the website, and any
interaction with active campaigns. This is used for optimizing advertisement and
for efficient retargeting.
Expiry: 29 daysType: HTTP
Google
1
Learn more about this provider
ads/ga-audiencesUsed by Google AdWords to re-engage visitors that are likely to
convert to customers based on the visitor's online behaviour across websites.
Expiry: SessionType: Pixel
LinkedIn
4
Learn more about this provider
bcookieUsed by the social networking service, LinkedIn, for tracking the use of
embedded services.
Expiry: 1 yearType: HTTP
bscookieUsed by the social networking service, LinkedIn, for tracking the use of
embedded services.
Expiry: 1 yearType: HTTP
lidcUsed by the social networking service, LinkedIn, for tracking the use of
embedded services.
Expiry: 1 dayType: HTTP
UserMatchHistoryEnsures visitor browsing-security by preventing cross-site
request forgery. This cookie is essential for the security of the website and
visitor.
Expiry: 29 daysType: HTTP
Quora
1
Learn more about this provider
_/ad/75aa344edeef4dbfa3b3dd7cb5f40e6f/pixelCollects data on user behaviour and
interaction in order to optimize the website and make advertisement on the
website more relevant.
Expiry: SessionType: Pixel
Reddit
1
Learn more about this provider
rp.gifNecessary for the implementation of the Reddit.com's share-button
function.
Expiry: SessionType: Pixel
Soundcloud
1
Learn more about this provider
WIDGET::local::assignmentsUsed by audio-platform SoundCloud to implement,
measure and improve their embedded content/service on the website - The
collection of data also includes visitors’ interaction with embedded
content/service. This can be used for statistics or marketing purposes.
Expiry: PersistentType: HTML
Twitter Inc.
8
Learn more about this provider
muc_adsCollects data on user behaviour and interaction in order to optimize the
website and make advertisement on the website more relevant.
Expiry: 2 yearsType: HTTP
1/i/adsct [x2]Pending
Expiry: SessionType: Pixel
guest_idCollects data related to the user's visits to the website, such as the
number of visits, average time spent on the website and which pages have been
loaded, with the purpose of personalising and improving the Twitter service.
Expiry: 2 yearsType: HTTP
guest_id_adsCollects information on user behaviour on multiple websites. This
information is used in order to optimize the relevance of advertisement on the
website.
Expiry: 2 yearsType: HTTP
guest_id_marketingCollects information on user behaviour on multiple websites.
This information is used in order to optimize the relevance of advertisement on
the website.
Expiry: 2 yearsType: HTTP
i/adsctThe cookie is used by Twitter.com in order to determine the number of
visitors accessing the website through Twitter advertisement content.
Expiry: SessionType: Pixel
i/jotSets 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.
Expiry: SessionType: Pixel
YouTube
10
Learn more about this provider
VISITOR_INFO1_LIVETries to estimate the users' bandwidth on pages with
integrated YouTube videos.
Expiry: 179 daysType: HTTP
YSCRegisters a unique ID to keep statistics of what videos from YouTube the user
has seen.
Expiry: SessionType: HTTP
ytidb::LAST_RESULT_ENTRY_KEYStores the user's video player preferences using
embedded YouTube video
Expiry: PersistentType: HTML
yt-remote-cast-availableStores the user's video player preferences using
embedded YouTube video
Expiry: SessionType: HTML
yt-remote-cast-installedStores the user's video player preferences using
embedded YouTube video
Expiry: SessionType: HTML
yt-remote-connected-devicesStores the user's video player preferences using
embedded YouTube video
Expiry: PersistentType: HTML
yt-remote-device-idStores the user's video player preferences using embedded
YouTube video
Expiry: PersistentType: HTML
yt-remote-fast-check-periodStores the user's video player preferences using
embedded YouTube video
Expiry: SessionType: HTML
yt-remote-session-appStores the user's video player preferences using embedded
YouTube video
Expiry: SessionType: HTML
yt-remote-session-nameStores the user's video player preferences using embedded
YouTube video
Expiry: SessionType: HTML
cdn.bizible.com
cdn.bizibly.com

2
_BUID [x2]Collects data on visitors' preferences and behaviour on the website -
This information is used make content and advertisement more relevant to the
specific visitor.
Expiry: 1 yearType: HTTP
j.6sc.co
2
6suuidRegisters user behaviour and navigation on the website, and any
interaction with active campaigns. This is used for optimizing advertisement and
for efficient retargeting.
Expiry: 2 yearsType: HTTP
v1/beacon/img.gifUsed in context with Account-Based-Marketing (ABM). The cookie
registers data such as IP-addresses, time spent on the website and page requests
for the visit. This is used for retargeting of multiple users rooting from the
same IP-addresses. ABM usually facilitates B2B marketing purposes.
Expiry: SessionType: Pixel
Unclassified 6
Unclassified cookies are cookies that we are in the process of classifying,
together with the providers of individual cookies.
Airtable
1
Learn more about this provider
internal/page_viewPending
Expiry: SessionType: Pixel
Cvent
3
Learn more about this provider
eventguestside-service-sessionPending
Expiry: SessionType: HTTP
registration-1b38b19d-e697-4c72-bb50-e666089ab6e5Pending
Expiry: PersistentType: HTML
registration-92ed9a5c-7de8-4003-802d-003a5f5fd466Pending
Expiry: PersistentType: HTML
Fewer &amp; Faster
2
Learn more about this provider
_secure_speakerd_sessionPending
Expiry: 14 daysType: HTTP
beacon.gifPending
Expiry: SessionType: Pixel
Cross-domain consent[#BULK_CONSENT_DOMAINS_COUNT#] [#BULK_CONSENT_TITLE#]
List of domains your consent applies to: [#BULK_CONSENT_DOMAINS#]
Cookie declaration last updated on 03.11.22 by Cookiebot


[#IABV2_TITLE#]

[#IABV2_BODY_INTRO#]
[#IABV2_BODY_LEGITIMATE_INTEREST_INTRO#]
[#IABV2_BODY_PREFERENCE_INTRO#]
[#IABV2_LABEL_PURPOSES#]
[#IABV2_BODY_PURPOSES_INTRO#]
[#IABV2_BODY_PURPOSES#]
[#IABV2_LABEL_FEATURES#]
[#IABV2_BODY_FEATURES_INTRO#]
[#IABV2_BODY_FEATURES#]
[#IABV2_LABEL_PARTNERS#]
[#IABV2_BODY_PARTNERS_INTRO#]
[#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.

You can at any time change or withdraw your consent from the Cookie Declaration
on our website.

Learn more about who we are, how you can contact us and how we process personal
data in our Privacy Policy.

Please state your consent ID and date when you contact us regarding your
consent.
[#OOI_PERSONAL_INFORMATION#]
Deny Allow selection Customize

Allow all
Powered by Cookiebot by Usercentrics
For full functionality of this site it is necessary to enable JavaScript. Here
are the instructions how to enable JavaScript in your web browser.
LaunchDarkly

Feature Management

Overview

What is feature management?What is experimentation?Why LaunchDarkly?Build vs.
buyGuide to feature management
Platform

Core Platform

Feature managementExperimentationFeature flagsFeature WorkflowsPlatform
architecture

Connectivity

SDKsAPIsIntegrationsCode References

Data

AnalyticsData Export
Solutions

Team

DevelopersDevOps & SREMobileProduct managers

Use Case

All use casesApp modernizationChange and release managementDigital
transformation

Industry

Financial servicesHealthcareU.S. government
Resources

Explore

DocsGuide & tutorialsWebinarsBlogResource centerAcademy

Success Stories

Case studiesCustomers
Enterprise
Pricing
Sign InGet a Demo
LaunchDarkly BlogBlog
Best PracticesIndustry InsightsProduct UpdatesTeam & NewsPodcastsMore

Get Demo

Searching...
FEATURE MANAGEMENT


FEATURE FLAGS—WHAT ARE THOSE? USES, BENEFITS & BEST PRACTICES


By Dawn Parzych   •   June 10, 2020
7 min read

Twitter

Facebook

LinkedIn

Copy Link

When getting started with a new concept, you may have lots of questions. This
article will cover:

 * The definition of feature flags.
 * The types of companies and teams using feature flags.
 * Benefits of feature flags.
 * Feature flag use cases.
 * Feature flag deployment options.
 * Feature flag success stories.


WHAT IS A FEATURE FLAG?

A feature flag is a software development process used to enable or disable
functionality remotely without deploying code. New features can be deployed
without making them visible to users. Feature flags help decouple deployment
from release letting you manage the full lifecycle of a feature.

Feature flags go by many names:

 * Feature toggle
 * Feature flipper
 * Conditional feature
 * Feature switch
 * Feature controls
 * Release toggle

Whatever their name, the purpose is to use known information to control how code
works. For example, if new features are made available to internal users for
testing and feedback, a feature flag can control this access. Any employee
logged into the application with a corporate email address will see the feature;
other users do not.

Feature flags eliminate the need to maintain multiple feature branches within
your source code. All code changes can be made to the primary branch, only when
the feature is ready will it be enabled via the flag.


WHO USES FEATURE FLAGS?

Feature flags aren’t just for engineering or development teams. Flags can be
used by:

 * Sales and Customer Support to provision entitlements.
 * Product Management to manage beta programs.
 * Marketing to run A/B tests.

Feature management is commonly used at companies of all sizes and across all
verticals looking to:

 * Reduce the number of code rollbacks.
 * Gradually roll out new functionality to users.
 * Minimize the risk of a release by first releasing to small groups of users.
 * Test user acceptance.

Companies utilizing continuous integration/continuous delivery (CI/CD)
or Progressive Delivery rely on feature flag management to gradually roll
out features to users. Continuous delivery is the ability to shorten release
cycles and get new functionality in the user’s hands quickly and safely.
Progressive Delivery kicks it up a notch and provides fine-grained control over
the rollout and ownership of a feature. Progressive Delivery includes user
segmentation, traffic management, observability, and automation to release
features to small portions of users.

Through these delivery processes, teams develop a cadence for lean releases,
where new code is wrapped in feature flags. Features are gradually rolled out to
the user base to validate their integrity and minimize the risk to your platform
and company.


WHY USE FEATURE FLAGS?

The Accelerate: State of DevOps Report outlines the characteristics of high
performing organizations. Compared to low performing teams, high performing
teams deploy code 46 times more frequently with a lead time from commit to
deploy 2,555 times faster. Not only are they deploying code faster, they fail
less frequently. High-performing teams have a lower change failure rate and
recover from incidents faster. Part of what makes this possible is having the
right systems and processes in place to support your teams.

Creating a CI/CD pipeline is necessary to increase the velocity of code
deployments. CI/CD is about getting software delivered to end-users faster. To
move quickly, you need safety measures in place. Feature flags are one of those
safety measures. With feature flags, you can turn off a feature that performs
unexpectedly in production without rolling back the code.

Feature flags also assist with teams using trunk-based development. Trunk-based
development is when developers commit code to a single branch referred to as a
trunk (or master) rather than long-lived feature or development branches. A
single branch of code helps to eliminate merge conflicts, broken builds and
results in a cleaner codebase. Instead of using a feature branch, use a flag to
gate features not ready for public viewing.


WHEN TO USE FEATURE FLAGS

There are four main categories of when to use feature flags.

IMPROVE FEATURE ROLLOUT (RELEASE MANAGEMENT)

Using flags as part of your build or feature release process is one of the most
common uses of feature flags. Release management includes early access
programs, canary releases, and beta programs—anywhere you give specific
users access to features before releasing the feature to everyone. Starting
small and rolling out to larger groups over time helps you:

 * Observe the behavior of the systems and services under increasing load.
 * Collect user feedback and make changes if you need to.
 * Limit the blast radius if something goes wrong





OPERATIONAL EFFICIENCY

Feature flags can manage and control the behavior of a system toggling a
feature on/off to minimize the impact of incidents. Using operational feature
flags you can:

 * Deploy circuit breakers or kill switches to programmatically or manually
   disable a feature if it negatively impacts the user experience and alerts are
   triggered.
 * Limit API requests to ensure API reliability.
 * Switch to a less feature-rich version of a page under heavy load.
 * Test new microservices or third-party tags in production for interoperability
   testing.
 * Change log-levels on the fly for debugging purposes.

LEARN FROM EXPERIMENTATION

A large part of building and operating software is learning what works and what
doesn’t. Experiments are one way of learning about our software, infrastructure,
users, and systems. Experiments include concepts such asA/B testing, game days,
or chaos experiments. They allow you to gain new knowledge. Using feature flags,
you can test different configurations of a feature to validate or disprove gut
feelings. Experiments provide concrete reporting and real world measurements to
ensure that you are launching the best version of a feature that positively
impacts company metrics.





EMPOWER TEAMS WITH ENTITLEMENTS

In software, entitlement refers to the right to use services, products, or
features. Entitlements define the features each user can access. Entitlements
are sometimes referred to as paywalls, as features are only available to paid
subscribers.
Feature flags, in the context of a feature management platform, can empower
others in the organization to manage and control entitlements. This results in
better customer experiences and greater operational efficiency.






WHERE FEATURE FLAGS MAKE A DIFFERENCE

Looking for inspiration on where you can use feature flags? Check out these
unique examples.

A restaurant chain deployed feature flags to switch between POS vendors if it
crashed or became unavailable, thus minimizing lost revenue and unhappy
customers when orders could not be processed and paid for.

At a SaaS company, assigning support tickets was often a manual process. Feature
flags were used to determine the capacity of technical support engineers and
leads. The engineer with the most capacity is assigned a ticket. Automating
ownership based on capacity reduces the amount of time before a ticket is in the
hands of a support engineer.

An automotive marketplace, when migrating from on-premises data centers to the
cloud, needed to move data in small increments to check for errors. Feature
flags helped them selectively route small percentages of traffic based on
categories.


HOW ARE FEATURE FLAGS DEPLOYED?

How you choose to deploy feature flags depends on several factors including:

 * The size of your engineering team
 * How often you release code to production
 * How many flags you want to deploy
 * Whether you want to build vs. buy

Based on the above options, your options for deploying feature flags start with
using a configuration file. Config files can be used to store global application
settings. If a single feature needs to be “on” or “off” for all users, putting
it in a config file is a straightforward way to deploy.

If you have more than a couple of flags or you need more granular controls, you
may opt to deploy flags via a database. When you manage flags from a database,
features can be targeted to individual users. You also can make modifications to
user targeting without having to restart or re-deploy services.

You may opt to deploy using an open-source solution. Open source solutions allow
for user segmentation, targeting, and controlled feature rollouts. Open
source solutions are often language or stack specific. If your application uses
multiple languages, as many do, you may need to deploy multiple solutions for
complete coverage.

A final deployment option is to use an enterprise feature management solution
like LaunchDarkly. When you have needs such as role-based access controls
(RBAC), audit logs, or use cases including experimentation or entitlements, you
would want to deploy a comprehensive feature management solution.


WHY USE LAUNCHDARKLY FOR FEATURE FLAGS?

LaunchDarkly offers a feature management platform as a service designed for the
entire organization. We believe the effective use of feature flags is an
organization-wide endeavor, not something limited to a few developers. All teams
across the organization can benefit from the use of feature
flags. LaunchDarkly grows with you as your feature flagging practice expands
from a single flag deployed by a single developer to team-wide use, to
delegating control of flags to other teams to meet their use cases.

Request a demo of the LaunchDarkly feature management platform or start a free
trial.


By Dawn Parzych

Twitter

Facebook

LinkedIn

Copy Link
You May Like
BEST PRACTICESTesting in Production to Stay Safe and Sensible
BEST PRACTICESWhat Is Continuous Testing? A Straightforward Introduction
NOVEMBER 22, 2022   •   BEST PRACTICESTrunk-Based Development with Kubernetes

NOVEMBER 17, 2022   •   BEST PRACTICESUsing LaunchDarkly Feature Flags with
GraphQL Applications

NOVEMBER 15, 2022   •   INDUSTRY INSIGHTS7 Reasons Percentage Rollouts Reduce
Deployment Risk

NOVEMBER 10, 2022   •   PRODUCT UPDATESFall 2022: Product Release Roundup



INBOXES LOVE LAUNCHDARKLY.

Make sure you get all the content, tips, and news you can use.

*




*
maplesyrup:










Yes, send me emails


WE EMPOWER ALL TEAMS TO DELIVER AND CONTROL THEIR SOFTWARE.

Support

 * Support Home
 * Request Support
 * Documentation
 * Status

Why Us

 * ROI of feature management
 * Trust & security
 * Implementation
 * LaunchDarkly vs. competitors
 * LaunchDarkly on AWS
 * Economic impact of LaunchDarkly

Learn

 * Case studies
 * Webinars
 * Events
 * Blog
 * Podcast
 * Trajectory
 * Galaxy

Company

 * About us
 * Careers
 * Press and analysts
 * Partner program
 * Terms & Policies
 * Contact us
 * LaunchDarkly.org

©2022 Catamorphic Co.

Twitter



LinkedIn



Meetup



YouTube



Instagram



LaunchDarkly BlogClose
Best PracticesIndustry InsightsProduct UpdatesTeam & NewsPodcasts