<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Thanh-Vi Le</title> <link>https://world.optimizely.com/blogs/thanh-vi-le/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>Optimizely Cross-Browser Testing to deprecate on April 25th, 2023</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/2/optimizely-cross-browser-testing-to-deprecate-on-april-25th-2023/</link>            <description>&lt;p&gt;&lt;img src=&quot;/link/3c7f5f0d73854ede8137b18ffb660c13.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Optimizely will deprecate the Cross-Browser Testing feature on the 25th of April 2023.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As of this writing, cross-browser testing only has 0.54% user adoption rate and 1.38% account adoption rate. In fact, the actual percentages are even lower as these currently include Optimizely employees who emulate custom accounts.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class=&quot;ui-provider&amp;#32;csg&amp;#32;csh&amp;#32;c&amp;#32;d&amp;#32;e&amp;#32;f&amp;#32;g&amp;#32;h&amp;#32;i&amp;#32;j&amp;#32;k&amp;#32;l&amp;#32;m&amp;#32;n&amp;#32;o&amp;#32;p&amp;#32;q&amp;#32;r&amp;#32;s&amp;#32;t&amp;#32;csi&amp;#32;csj&amp;#32;w&amp;#32;x&amp;#32;y&amp;#32;z&amp;#32;ab&amp;#32;ac&amp;#32;ae&amp;#32;af&amp;#32;ag&amp;#32;ah&amp;#32;ai&amp;#32;aj&amp;#32;ak&quot;&gt;The current version of cross-browser testing is being deprecated which would force Optimizely to migrate to the new version in order to maintain this feature&lt;/span&gt;&lt;/span&gt;. However, implementing a new version of cross-browser testing requires our developers to spend a disproportionate amount of time building and maintaining the feature; therefore, due to its lack of customer adoption, Optimizely has made the decision to shut it down.&lt;/p&gt;
&lt;p&gt;Thank you for trusting Optimizely with providing you the means to create experiences that your customers love. Please contact support@optimizely.com if you need assistance with our Web Experimentation and/or Performance Edge products, and don&amp;rsquo;t hesitate to use &lt;a href=&quot;https://feedback.optimizely.com/&quot;&gt;&lt;span&gt;https://feedback.optimizely.com/&lt;/span&gt;&lt;/a&gt; so we can continue making (y)our products better.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/2/optimizely-cross-browser-testing-to-deprecate-on-april-25th-2023/</guid>            <pubDate>Fri, 24 Feb 2023 16:03:33 GMT</pubDate>           <category>Blog post</category></item><item> <title>Track Experiments with Component Trackers – Make Experimentation Seamless</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/2/track-experiments-with-component-trackers--make-experimentation-seamless2/</link>            <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;The need for component trackers &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Running experimentation programs effectively across organizations can be difficult, especially when running multiple tests at a time &amp;ndash; why? Because it entails keeping track of &lt;em&gt;all&lt;/em&gt; of them while also managing them efficiently, which has grown to be a pain point for most customers. In fact, not doing this properly would lead to misallocating time and resources, resulting in slower experimentation and fumbled revenue.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This is a particularly hefty and time-intensive task for:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Large organizations that run a high number of tests simultaneously&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Customers who are very new at experimentation, need guidance, and don&amp;rsquo;t yet know how to manage the building blocks of their experiments i.e. their components.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Therefore, Optimizely is hyper-focused on making sure that our product allows all Experiment Collaborators to get a bird&amp;rsquo;s eye view of where their components are being used.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;Experiment Collaborators Need Enhanced Experimentation Coverage &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Many questions rise in the process of developing and navigating experiments. To effectively run an experimentation program, Experiment Collaborators need to understand the following: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Where experiments are running and if there are any conflicts that could potentially misconstrue the data &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;What pages, events, extensions, and audience resources are being used in which experiments &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;What pages, events, extensions, and audiences can be archived without affecting any workflows&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;For so long our Optimizely customers could only get insight into these things if they emailed their SA to run a script and bulk archive pages, and if they had no SA support they would manually go through their repository of pages, events, extensions, and audiences to archive those not being used in an experiment. Typically, Experiment Collaborators were tasked with governance and housekeeping, which involved:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Using the right pages, events, extensions, and audiences in experiments that are configured to the organization&#39;s definition&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Cleaning up unused or outdated components that clutter the UI, as they can cause confusion for users setting up new experiments.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Therefore, Optimizely has come up with a new feature to enhance governance and housekeeping processes: &lt;em&gt;Component Trackers&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;The Solution: Introducing Component Trackers &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;To identify if there are any conflicts with an experiment, or to find out what components an experiment is being used on, we now have the capability within our app to identify the number of active experiments currently using the same components.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;At Optimizely, it is our priority to ensure that Experiment Collaborators have all the answers that they need to make effective changes and decisions when it comes to experimentation. &lt;/span&gt;&lt;span&gt;This new feature identifies the number of active experiments targeting the same components&amp;mdash;making experimentation more efficient and effective. &lt;/span&gt;&lt;span&gt;The way that an Experiment Collaborator will see it within Optimizely: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;span&gt;View when you are creating or modifying an experiment in &amp;ldquo;Implementation&amp;rdquo; &lt;/span&gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;The number of experiments a page is currently being used in&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;A view that allows a user to dig into which experiments are being used on that specific page&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/link/b446d182e02843dd8c28523413fcd912.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/25f8c82ad6934ba8881c687ce950329f.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;Conclusion &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;With Component Trackers, the management of experimentation assets will be significantly easier. Experiment Collaborators will be able to identify that the correct Pages, Events, Extensions and Audiences are being used in their experiments and configured properly. Additionally, governance and housekeeping will be substantially more straightforward given the effortless identification of unused experimentation assets. Components Trackers will make experimentation seamless by increasing experiment velocity and performance and providing enhanced management.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span&gt;Questions? &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;span&gt;Please contact &lt;a href=&quot;mailto:support@optimizely.com&quot;&gt;support@optimizely.com&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/2/track-experiments-with-component-trackers--make-experimentation-seamless2/</guid>            <pubDate>Tue, 14 Feb 2023 17:42:49 GMT</pubDate>           <category>Blog post</category></item><item> <title>Optimizely Web Experimentation to end support for Internet Explorer (IE) in 2023</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/1/optimizely-web-experimentation-to-end-support-for-internet-explorer-ie-in-2023/</link>            <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;img src=&quot;https://cdn-assets-eu.frontify.com/s3/frontify-enterprise-files-eu/eyJwYXRoIjoiZXBpc2VydmVyXC9maWxlXC8zWFpYOEJON1g4blJKNE1UMnFVSi5qcGVnIn0:episerver:0RruEodXNTkA9L7cOavr4EVRcpxoQdHf4nJT4e5iIGY?width=2400&quot; width=&quot;1205&quot; alt=&quot;AdobeStock_267042064&quot; height=&quot;803&quot; /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Optimizely Web Experimentation, including both the Web and Performance Edge products, will no longer support any version of IE on the 15th of April 2023.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Microsoft &lt;span&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/lifecycle/products/internet-explorer-11&quot;&gt;ended support for IE11&lt;/a&gt;&lt;/span&gt;, the most recent version of IE, on June 15, 2022. Despite this, the Web and Edge snippets have continued to support IE11 through the end of 2022. The decision to drop support comes from the lack of visitor traffic. As of this writing, IE makes up only about 0.248% of traffic amongst the top 10 most popular browsers that our customers&amp;rsquo; visitors use and only 0.247% of our total browser usage, yet our developers spend a disproportionate amount of time testing and resolving support tickets tied to it.&lt;/p&gt;
&lt;p&gt;This decision entails that Optimizely will no longer validate that new changes to the Web and Performance Edge snippets work on IE11. We won&amp;rsquo;t force any specific behaviours based on browsers: users can choose to conditionally load the snippet on supported browsers, or to rely on our variety of custom JS areas rather than our OOTB logic &amp;ndash; ensuring their JS will run on any browser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;&lt;strong&gt;Optimizely Full Stack also dropped support and stopped testing for Internet Explorer in June 2022.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thank you for trusting Optimizely with providing you the means to create experiences that your customers love. Please contact support@optimizely.com if you need assistance with our Web Experimentation and/or Performance Edge products, and don&amp;rsquo;t hesitate to use https://feedback.optimizely.com/ so we can continue making (y)our products better.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2023/1/optimizely-web-experimentation-to-end-support-for-internet-explorer-ie-in-2023/</guid>            <pubDate>Tue, 10 Jan 2023 16:25:40 GMT</pubDate>           <category>Blog post</category></item><item> <title>Take experimentation velocity to the next level with Mutually Exclusive Experiments in Edge</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/11/take-experimentation-velocity-to-the-next-level-with-mutually-exclusive-experiments-in-edge/</link>            <description>&lt;p&gt;&lt;span style=&quot;text-decoration:&amp;#32;underline;&quot;&gt;&lt;em&gt;The need for Mutually Exclusive Experiments in Edge &lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;When they visit our customers&amp;rsquo; sites, Edge users are likely to see more than one related experiment running simultaneously. This could cause them to behave differently from visitors who only see one of these experiments in isolation. As a result, this difference in behavior has the potential to affect our customers&amp;rsquo; results and lead to undesirable interactions between experiments. Experiment collaborators can&amp;rsquo;t afford to make inaccurate inferences as they need reliable results to understand their customers better: they need to be empowered with the right tools to build relevant experiences and succeed faster.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Furthermore, we want our customers to have the flexibility of running as many experiments as they can, whether they wish to use Web Experimentation or Performance Edge. The development team at Optimizely has worked hard to address this pain point in our Web and Feature Experimentation products, and now we&amp;rsquo;re bringing it to Performance Edge.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration:&amp;#32;underline;&quot;&gt;&lt;em&gt;Experiment collaborators need to be confident in their results: introducing Mutually Exclusive Experiments in Edge&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;With Mutually Exclusive Experiments available in Edge, we will make our customers&amp;rsquo; experiments and campaigns mutually exclusive via exclusion groups. Suppose that our customers are running two experiments, but both are in an exclusion group. This means that any visitor who sees Experiment A won&amp;rsquo;t see Experiment B, and vice versa. For instance, say that Experiment A has a 50% traffic allocation and Experiment B has a 50% traffic allocation. Half of the users will only see Experiment A, and the other half will only see Experiment B.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As a result, no visitor will see both experiments because they are in the same exclusion group, which makes both experiments &lt;em&gt;mutually exclusive&lt;/em&gt;. These experiments would be customizable in a way that traffic allocation for experiments or campaigns in an exclusion group can be changed. This prevents customers from collecting unnecessary biases from users&amp;rsquo; difference in behaviors when being added to several experiments.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&#39;s how to create an exclusion group in Edge:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/edd7d75f62af4c508e312f8529ef3ca4.aspx&quot; alt=&quot;FE.gif&quot; style=&quot;display:&amp;#32;block;&amp;#32;max-width:&amp;#32;100%;&amp;#32;margin:&amp;#32;0px&amp;#32;auto;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration:&amp;#32;underline;&quot;&gt;&lt;em&gt;The takeaway&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Mutually Exclusive Experiments in Edge, avoid inaccurate results that stem from isolating related experiments. Make sure you invest in the right changes and increase experiment velocity by allowing more experiments to be run concurrently with higher confidence in results. Read more about our new Mutually Exclusive Experiments feature &lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/4410289064205-Mutually-exclusive-experiments-in-Optimizely-Web&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://docs.developers.optimizely.com/full-stack/docs/use-mutual-exclusion&quot;&gt;here&lt;/a&gt;. Note: Mutually Exclusive Experiments for Edge will be rolled out gradually over Q4, and is expected to be out 100% by early December 2022.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration:&amp;#32;underline;&quot;&gt;&lt;em&gt;Questions?&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Please contact support@optimizely.com if you need assistance with our Web Experimentation and/or Performance Edge products. If you&amp;rsquo;d like to follow our development updates, feel free to subscribe to our RSS feed by clicking the corresponding icon below.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/11/take-experimentation-velocity-to-the-next-level-with-mutually-exclusive-experiments-in-edge/</guid>            <pubDate>Tue, 15 Nov 2022 17:43:30 GMT</pubDate>           <category>Blog post</category></item><item> <title>Create awareness with Concurrent Editing – Enable smooth cross-collaboration within your team</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/create-awareness-with-concurrent-editing--enable-smooth-cross-collaboration-within-your-team/</link>            <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;The need for Concurrent Editing&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cross-collaboration within organizations is a must in order to be successful and complete projects as efficiently as possible. However, when multiple people concurrently edit the same experiment or variation unknowingly, it may cause constant overwriting between users, thus making teamwork inefficient and confusing. In fact, failing to collaborate efficiently can lead to misallocated time and resources, resulting in slower experimentation and missed opportunities.&lt;/p&gt;
&lt;p&gt;Efficient cross-collaboration can be particularly complex for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;High-activity companies with numerous collaborators wanting to work on the same experiment at the same time&lt;/li&gt;
&lt;li&gt;Low-activity companies which haven&amp;rsquo;t yet established adequate internal communications&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, experiment collaborators might work on an experiment for several hours only to see their changes being overwritten by someone else&amp;rsquo;s edits. This is a pain that has been known to be frustrating to users. Therefore, Optimizely is committed to making sure that our Web Experimentation product allows multiple experiment collaborators to edit an experiment simultaneously by informing active users what others are working on in real time. By collaborating live together, users will save time and have more visibility on others&amp;rsquo; contributions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Experiment Collaborators Need To Know What&amp;rsquo;s Going On At All Times: Introducing Concurrent Editing Awareness&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To solve this, Optimizely&amp;rsquo;s teams came up with a feature that will display a banner notification to inform active users of other active users who are viewing/editing the same project.&lt;/p&gt;
&lt;p&gt;The way that an experiment collaborator will see it within Optimizely:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;View when &amp;ldquo;More info&amp;rdquo; is clicked on the experiment details screen&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Get warning message about potential overwriting&lt;/li&gt;
&lt;li&gt;See who is viewing/editing the page and their respective email address&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/link/537066e6db60416691d72dc4236f75cf.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The warning banner can be dismissed by clicking &amp;ldquo;Close&amp;rdquo;; however, it may reappear in 2 instances: (1) when a new user starts editing the same experiment mid-session and (2) when a session ends and restarts (every new session/page refresh).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With Concurrent Editing, the management of experimentation assets will be significantly easier. Experiment collaborators will be able to identify which pages are being concurrently edited to avoid overwriting and confusion. Concurrent editing will make cross-collaboration between users smoother by increasing experiment velocity and performance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Questions?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Please contact &lt;/em&gt;&lt;a href=&quot;mailto:support@optimizely.com&quot;&gt;&lt;em&gt;support@optimizely.com&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;if you need assistance with our Web Experimentation product. If you&amp;rsquo;d like to follow our development updates, feel free to subscribe to our RSS feed by clicking the corresponding icon below.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/create-awareness-with-concurrent-editing--enable-smooth-cross-collaboration-within-your-team/</guid>            <pubDate>Fri, 12 Aug 2022 12:47:45 GMT</pubDate>           <category>Blog post</category></item><item> <title>New: Optimizely Full Stack now offers starter kits for Fastly, Akamai, Cloudflare, Vercel, and AWS Lambda@Edge</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/new-optimizely-full-stack--edge/</link>            <description>&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;&lt;em&gt;By John Nguyen and Griffin Cox&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;display:&amp;#32;block;&amp;#32;width:&amp;#32;100%;&amp;#32;text-align:&amp;#32;center;&amp;#32;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;img src=&quot;/link/9aa41786295748b7a14e42e422038573.aspx&quot; alt=&quot;&quot; style=&quot;display:&amp;#32;block;&amp;#32;max-width:&amp;#32;100%;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;In an increasingly competitive digital landscape where 100ms of added latency &lt;a href=&quot;https://www.forbes.com/sites/steveolenski/2016/11/10/why-brands-are-fighting-over-milliseconds/?sh=f341dea4ad33&quot;&gt;can cost 1% of sales&lt;/a&gt;, performance has never been more critical. All else equal, the fastest company wins.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Imagine you&amp;rsquo;re in California, using a simple messaging app. Let&amp;rsquo;s say you&amp;rsquo;re using an app powered by data centers on the other side of the world. You tap &amp;ldquo;view messages&amp;rdquo; and wait. And wait. Every millisecond you spend waiting is a waste of time. Your mind quickly wanders to something else. You may even start to consider finding a better app.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;The time it takes to complete the roundtrip for a request to view your messages will be longer than if servers nearby would fulfill the request. The lag is much larger for intercontinental requests.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Recognizing this added time latency, companies in the 2000s began to operate multiple on-premises data centers that would route user requests to the nearest location. With the rapid growth in cloud computing, hosting and maintaining multiple data centers became easier, further improving performance. Content Delivery Networks (CDNs) emerged as a specialized way to serve data from the cloud as quickly and as cheaply as possible... that is until recent developments in Edge computing.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Companies looking to deliver content such as images, videos, and other assets blazingly fast are turning to ultra-distributed networks that seek to serve data as geographically close to the user as possible, sometimes as close as within the same city. These networks have come to be known as Edge networks. Numerous SaaS vendors such as Fastly, Akamai, Cloudflare, Vercel, and AWS Lambda@Edge are at the forefront of this technology.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Edge providers build highly scalable and localized content delivery networks that must operate with extraordinary resource constraints on memory, run time, and CPU usage to be financially feasible. Rather than run one server cluster in one data center, Edge networks host limited functionality at countless Edge locations as they are needed.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Here at Optimizely, we are committed to minimizing the performance impact of experimentation. At each stage of this technological arms race, we&amp;rsquo;ve supported the latest and greatest technologies so that our customers can save development effort and provide the best experience possible to their users. This means extending support for modern technologies as our customers adopt them. That&amp;rsquo;s why we&amp;rsquo;re proud to announce best-in-class support for Edge computing on five of the world&amp;rsquo;s most popular Edge networks: &lt;a href=&quot;https://www.fastly.com/&quot;&gt;Fastly&lt;/a&gt;, &lt;a href=&quot;https://www.akamai.com/&quot;&gt;Akamai&lt;/a&gt;, &lt;a href=&quot;https://www.cloudflare.com/&quot;&gt;Cloudflare&lt;/a&gt;, &lt;a href=&quot;https://vercel.com/&quot;&gt;Vercel&lt;/a&gt;, and &lt;a href=&quot;https://aws.amazon.com/lambda/edge/&quot;&gt;AWS Lambda@Edge&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color:&amp;#32;#3598db;&amp;#32;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Edge Computing&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Edge computing enables you to build fast and customizable experiences, incorporating the familiarity and convenience of serverless functions with the speed of close-proximity computation from the edges of a given network. You can think of it as analogous to a CDN wired up to serverless functions.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Edge computing provides the ideal mechanism for handling high-impact, low-cost decisions that directly influence user experiences &amp;ndash; a perfect match for running experimentation using Optimizely.&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color:&amp;#32;#3598db;&amp;#32;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Optimizely Edge Starter Kits&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Today, using Edge computing services with Optimizely&amp;rsquo;s Full Stack SDK has been made easy with our brand-new edge starter kits available to help kickstart experimentation at the Edge, with support for five major platforms &amp;ndash; Fastly, Akamai, Cloudflare, Vercel, and AWS Lambda@Edge.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Each starter kit provides an example implementation of the Optimizely Full Stack JavaScript Lite SDK that covers everything from importing and initializing the SDK and setting up user context to making decisions and returning the response of those decisions. In addition, &lt;strong&gt;each starter kit aligns to each platform&amp;rsquo;s specific space and time constraints and approaches to caching, data fetching, and response handling.&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Using our Optimizely starter kits, you can spin up new edge computing instances ready for experimentation within minutes, all with the familiarity of JavaScript and our Full Stack SDKs.&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;You can view each starter kit&amp;rsquo;s developer documentation with step-by-step instructions here:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/fastly-compute-at-edge&quot;&gt;Fastly&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/akamai-edgeworkers&quot;&gt;Akamai&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/cloudflare-workers&quot;&gt;Cloudflare&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/vercel-edge-functions&quot;&gt;Vercel&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/aws-lambda-at-edge&quot;&gt;AWS Lambda@Edge&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style=&quot;color:&amp;#32;#3598db;&amp;#32;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Benefits of using Optimizely @ Edge&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Here are some benefits you&#39;ll find when using Optimizely at the edge, compared to our client-side and server-side solutions.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Balance Speed with Customization for User Experience&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;By computing, caching, and serving your data at the edge of the network, close to your users and/or source of data, edge computing provides all the speed of a CDN with the customizability of a serverless function.&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;The starter kits enable you to utilize that speed and power for your use cases, from changing which assets are delivered based on decisions to making split-second decisions on user eligibility based on geographical location.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Reducing Overhead &amp;amp; Streamlining Developer Experience&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Our edge starter kits provide an excellent developer experience, bringing the familiarity of JavaScript and our Full Stack SDKs into the world of edge computing. In addition, you&amp;rsquo;ll find that&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;setting up an edge service may be easier than you think&lt;/strong&gt;, as new services can be spun up in minutes and reduces the overhead of development compared to alternative methods of achieving the same balance of speed and customization.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Improved Security over Client-side Implementation&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Making client-side decisions is fast, but insecure. Making decisions on your server and relaying them to your client is secure and slow. &lt;strong&gt;The middle ground is edge computing &amp;ndash; providing both a fast and secure environment to serve decisions.&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color:&amp;#32;#3598db;&amp;#32;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;&lt;strong&gt;Ready to Get Started?&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family:&amp;#32;arial,&amp;#32;helvetica,&amp;#32;sans-serif;&quot;&gt;Check out our &lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/get-started-edge-functions&quot;&gt;docs&lt;/a&gt; for step-by-step guides for each Edge provider. Our Customer Success Managers and Solutions Architects are here to help you, so don&#39;t hesitate to reach out to us with any questions you might have.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/new-optimizely-full-stack--edge/</guid>            <pubDate>Fri, 05 Aug 2022 15:23:46 GMT</pubDate>           <category>Blog post</category></item><item> <title>Easily Deploy Optimizely Agent to K8s via Helm Charts</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/easily-add-experimentation-to-your-cloud-native-stack/</link>            <description>&lt;p&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;By Mike Chu&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;display: block; width: 100%; text-align: center;&quot;&gt;&lt;img src=&quot;/link/8068d6d37a6e45c7912052dd4eb92e03.aspx&quot; alt=&quot;&quot; style=&quot;display: block; max-width: 100%;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Distributed systems pose new challenges to companies seeking to build experimentation platforms that support their business goals. In a monolith architecture that combines a frontend and backend, the implementation of one Optimizely Full Stack SDK may be sufficient to enable full stack experimentation. In headless architectures, where the frontend is decoupled from the backend, two SDKs may be sufficient. But, when the backend is broken down into microservices, organizations frequently turn to implementing one of our SDKs in each service, which can accrue high development and maintenance costs.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Microservice architectures have become the de facto standard for building cloud-native systems. Engineering organizations tasked with maintaining highly reliable, available, and scalable systems are also increasingly breaking down their monoliths into microservices. As high-performing organizations plug in additional capabilities, some orchestrate their ever-growing array of services with the help of Kubernetes to manage the workloads, provide scalability, and ultimately reduce their development, maintenance, and infrastructure costs.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The popularity of microservice architecture is why we introduced Optimizely Agent. With Agent companies can centralize their interactions with Optimizely in one place, eliminating the need to install SDKs in each microservice and reducing the maintenance costs over time as we update our platform. Until now, Agent was only available as a Docker image, with the expectation that our customers would need to deploy Agent optimally for their architectures with little guidance. Today, we&amp;rsquo;re happy to announce that it&amp;rsquo;s easier than ever to deploy Agent to Kubernetes (K8s) using Helm Charts.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Optimizely Agent&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Agent is a microservice providing integration with Optimizely&amp;rsquo;s experimentation offering, allowing organizations to easily build and run experiments and deliver features across multiple environments and into existing applications without having to implement our language-specific SDKs in each service.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Optimizely Agent provides a RESTful API that exposes experimentation functionality as a service. Customers can run A/B tests, multivariate testing, and (soon) adaptive targeting experiments with much less implementation time and effort.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Ideal use cases for Agent&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Incorporating Optimizely Agent into your tech stack can save you time and effort in the following situations:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Existing Service Oriented Architecture&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you already run a service-oriented architecture (SOA) Optimizely Agent can easily be included in your application stack to unlock your digital potential. SOA is a technique used to separate system functionality into discrete, but loosely coupled units. With Agent deployed to your infrastructure, your various microservices can then interact with Agent as a centralized point of decision evaluation and results reporting. The low implementation effort of Agent allows you to easily implement Optimizely experimentation across your existing operations.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Centralized Security &amp;amp; Privacy Compliance&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Experiment decisions and event data flowing through your infrastructure are easier to identify when a specific service is involved. Securing and monitoring this traffic becomes much easier with Optimizely Agent.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For instance, consider your infrastructure administrators and infosec staff. They may need firewall rules configured for experimentation data on a containerized workload to comply with data handling regulations or company policies. By implementing Agent, you can easily configure these rules and regulations in one location.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Support for Multiple Programming Languages&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Optimizely customers often leverage several of our software development kits (SDKs) depending on the product on which experiments are being run.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In some scenarios, especially in server-side applications, it can make sense to support a single implementation instead of coding the same solution in several programming languages.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This abstraction over HTTP using Optimizely Agent is instrumental if you have a nuanced tech stack or bespoke programming language in use. Leveraging Agent will bypass these hurdles when cultivating your culture of experimentation.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In cases where Optimizely does not offer an SDK for a chosen language, Agent can also stand in as a language-agnostic interface to Optimizely.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Future Proofing&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Agent becomes a near plug-and-go component for your future initiatives. Running instances of Optimizely Agent as part of your infrastructure can provide current and future support for experimentation with both internal workloads and customer-facing experiences. As your company unlocks the tangible value of experimentation, you&#39;ll likely find other systems that can be optimized through testing.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;How Is Optimizely Agent Typically Deployed?&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Running via Docker&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Optimizely Agent was designed to be executed in a container runtime, typically Docker. Using simple variables when starting the container, we offer customizability, such as networking options. We maintain two &lt;/span&gt;&lt;a href=&quot;https://hub.docker.com/r/optimizely/agent&quot;&gt;&lt;span&gt;Agent images on Docker Hub&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, both based on the official Golang container image. The primary version of Agent uses Debian Linux, and we also support an Alpine Linux-based Agent image with a smaller footprint.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Engineers will often run a local instance on the Agent during development, but the Docker image can also be included as a part of a smaller swarm. Please review the Docker Hub page instructions to learn how to set up and run the Agent via Docker.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The Dockerized Optimizely Agent also supports the industry shift towards a declarative, infrastructure-as-code approach. Configuration via YAML files can easily be committed to your software repositories, versioned, and distributed in a controlled manner by leveraging orchestration technologies like &lt;/span&gt;&lt;a href=&quot;https://docs.docker.com/compose/&quot;&gt;&lt;span&gt;Docker Compose&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href=&quot;https://www.ansible.com/&quot;&gt;&lt;span&gt;Ansible&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href=&quot;https://www.terraform.io/&quot;&gt;&lt;span&gt;Terraform&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, and especially Kubernetes.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Running From Source&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It&#39;s rarely done, but the Golang-based Optimizely Agent can be built and run from the &lt;/span&gt;&lt;a href=&quot;https://github.com/optimizely/agent&quot;&gt;&lt;span&gt;source code hosted on GitHub&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. Based on the &lt;/span&gt;&lt;a href=&quot;https://github.com/optimizely/go-sdk&quot;&gt;&lt;span&gt;Optimizely Go SDK&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, it gives Agent high-performance throughput.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please review the README markdown instructions in the Agent repo for more information. We&#39;ve included Windows,&amp;nbsp; macOS, and Linux instructions and helper scripts.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We typically recommend that clients run Agent as a containerized service.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Running in Kubernetes&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kubernetes has become the leader in the container orchestration space. Running Agent in a multi-node cluster provides high availability and dovetails into an infrastructure-as-code paradigm.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As with many of the orchestration technologies mentioned earlier, there&#39;s complexity cost to consider. Developing and maintaining configuration files requires (in my best Liam Neeson voice) a very particular set of skills.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Fortunately, the DevOps community has a solution.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;What is Helm?&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Helm is a package manager that helps DevOps engineers develop, test, manage, publish, and distribute Kubernetes deployments. Helm reduces the effort of working with Kubernetes while adhering to container &amp;amp; infrastructure-as-code paradigms.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Helm helps Kubernetes engineers:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;simplify sharing&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;manage complexity&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;easily update deployments&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;coordinate rollbacks (as needed)&lt;/li&gt;
&lt;li&gt;perform repetitive operations consistently&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Having developed my share of Kubernetes deployments, it&#39;s easy to find yourself copying and pasting chunks of YAML configurations to accomplish the above goals. Most developers will see this duplication and, after cringing, will look to satisfy patterns and reuse code, or in this case, develop templates.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;To stick with Kubernetes&#39; declarative approach, Helm has its own way of packaging&amp;nbsp; K8s configurations for distribution.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;What Are Helm Charts?&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Helm Charts are a set of file manifests that combine YAML templating and basic programmatic flow to produce a native Kubernetes configuration. Helm handles generating and executing the output configuration against a target Kubernetes cluster. &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Developing Helm charts has a low barrier to entry and a high ROI.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Fortunately, in the context of the Optimizely Agent, we&#39;ve done the work for you. We maintain a &lt;/span&gt;&lt;a href=&quot;https://artifacthub.io/packages/helm/optimizely-agent/agent&quot;&gt;&lt;span&gt;Helm Chart on Artifact Hub&lt;/span&gt;&lt;/a&gt;&lt;span&gt; that can be used to install and manage an Agent deployment in your K8s cluster.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Minimize Development &amp;amp; Maintenance Effort for Agent via Helm Charts&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We want to help you unlock the hidden value in your organization&#39;s digital properties. The faster we can incorporate experimentation into your technical operations, the sooner you can focus on designing experiments that return that value.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;There are tangible advantages to deploying Optimizely Agent via Helm charts&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Reduce the upfront effort needed to implement experimentation&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Remove duplication of effort by centralizing decision support and reporting&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Simplify deployment and upgrades to Agent&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Codify desired values used by Agent&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Infrastructure versioning (and rollbacks!)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Helm charts make it easy to scale your Agent deployment. Once you&#39;ve integrated experimentation in your stack, you can easily add additional Agent instances to handle the increased load, as needed. When traffic decreases, you can remove extra instances, freeing resources on your cluster, and saving you money.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Templates and Values&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Helm uses Go&#39;s template capabilities which provides a way to define how data is rendered into a Helm chart. This template and the values you choose merge to produce the necessary Kubernetes configuration files.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As a small but useful example, the &lt;/span&gt;&lt;span&gt;fullNameOverride&lt;/span&gt;&lt;span&gt; from the &lt;/span&gt;&lt;a href=&quot;https://github.com/optimizely/optimizely-agent-helm/blob/main/values.yaml&quot;&gt;&lt;span&gt;values.YAML file&lt;/span&gt;&lt;/a&gt;&lt;span&gt; is used throughout the resulting K8s configuration YAML files. Keeping them synchronized is otherwise a manual effort.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Template Files&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A Helm chart&#39;s templates directory contains all the templates used to generate the chart. Each Kubernetes resource needed by your cloud-native app stack, like Deployments, ConfigMaps, Secrets, Services, Persistent Volumes, etc., can have associated templates that Helm can fill in.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;When you run &lt;/span&gt;&lt;span&gt;helm install&lt;/span&gt;&lt;span&gt;, Helm enumerates this templates directory and begins to load the declared values into each template file.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3598db;&quot;&gt;&lt;strong&gt;Values File&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A values file allows you to define and set variables you can access in your templates. During installation, Helm uses the values you specify in your custom &lt;/span&gt;&lt;span&gt;values.yaml&lt;/span&gt;&lt;span&gt; file or via the &lt;/span&gt;&lt;span&gt;--set&lt;/span&gt;&lt;span&gt; flag in a command line interface (CLI) to override the defaults defined in the templates.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We recommend carefully reading the documentation for the Optimizely Agent Helm chart and the internal documentation for the &lt;/span&gt;&lt;span&gt;values.yaml&lt;/span&gt;&lt;span&gt; file.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Remember to commit your version of the Agent &lt;/span&gt;&lt;span&gt;values.yaml&lt;/span&gt;&lt;span&gt; to your version control system as a record of Optimizely Agent&#39;s configuration during each iteration of your implementation.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Common Optimizely Agent Helm Chart Values to Edit&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The values you supply to your Optimizely Agent instance(s) will vary based on your infrastructure and experiment traffic. Here are some common variables to review from your custom &lt;/span&gt;&lt;a href=&quot;https://github.com/optimizely/optimizely-agent-helm/blob/main/values.yaml&quot;&gt;&lt;span&gt;values.YAML file&lt;/span&gt;&lt;/a&gt;&lt;span&gt; supplied to the Helm chart:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;replicaCount&lt;/span&gt;&lt;span&gt;: Set an initial count of replicas based on an estimation of experiment traffic load&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;autoscaling&lt;/span&gt;&lt;span&gt;: Configure how to scale Agent up and down and under which load situations&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;service&lt;/span&gt;&lt;span&gt;: Use this section to configure how your Agent pods are expected to be available inside and outside your cluster&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;logs&lt;/span&gt;&lt;span&gt;: Decide the log level and format of collected logs&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;config&lt;/span&gt;&lt;span&gt;: Provide the configuration used in each instance of Agent&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Remember that our &lt;/span&gt;&lt;span&gt;Customer Success Managers&lt;/span&gt;&lt;span&gt; are here to help you with the set-up and configuration of the Optimizely Agent, so don&#39;t hesitate to reach out to us with any questions you might have.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/8/easily-add-experimentation-to-your-cloud-native-stack/</guid>            <pubDate>Wed, 03 Aug 2022 16:57:49 GMT</pubDate>           <category>Blog post</category></item><item> <title>Integrate Optimizely with GA4</title>            <link>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/6/integrate-optimizely-with-ga4/</link>            <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Google Universal Analytics and Google Analytics 4&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In 2019, GA4 was introduced with the aim of helping businesses approach evolving measurement standards, which involved the following capabilities:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Measuring different kinds of data&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Delivering a strong analytics experience&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Visualizing unified user journeys across websites and apps&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Predicting new insights with machine learning&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Keeping up with a changing ecosystem (find out more &lt;/span&gt;&lt;a href=&quot;https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;GA4 has become Google&#39;s recommended version of Google Analytics. Its previous versions &amp;ndash; Universal Analytics/Classic Analytics &amp;ndash; are some of the most popular analytics tools in use today, but GA4&#39;s updated capabilities have been pushing customers to migrate.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here are some key differences:&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding=&quot;5&quot; style=&quot;display: block; border-collapse: collapse;&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;&lt;strong&gt;Universal Analytics&amp;nbsp;&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;&lt;strong&gt;GA4&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Measurement&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Session-based&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Flexible event-based&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Reporting&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Limited across platforms and devices&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Fully enabled across platforms and devices&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Debugging&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;No DebugView report available&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;DebugView report available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;IP anonymization&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Can be enabled/disabled&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Enabled by default &lt;span&gt;&amp;ndash; can&amp;rsquo;t disable it due to privacy laws&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Automation&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Limited&lt;/td&gt;
&lt;td style=&quot;border: 1px solid #000; border-collapse: collapse;&quot;&gt;Machine learning-based&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;On July 1, 2023, GA4 will officially replace Google Universal Analytics.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Integrate Optimizely with GA4&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;If you would like to migrate to GA4 now, we have several guides on how to integrate Optimizely Web or Full Stack, depending on your use case:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/6004885942029-Integrate-Optimizely-WEB-with-Google-Analytics-4-without-using-Google-Tag-Manager&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;Integrate Optimizely Web with GA4&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/6002344202381-Integrate-Optimizely-WEB-with-Google-Analytics-4-using-Google-Tag-Manager&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;Integrate Optimizely Web with GA4 using Google Tag Manager&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.optimizely.com/hc/en-us/articles/7122089128973&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;Create segments for Optimizely Web in GA4&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/set-up-google-analytics-4-ga4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;Integrate Optimizely Full Stack with GA4&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/create-segments-for-google-analytics-4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;Create segments for Full Stack in GA4&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;We will continue to provide further support as we get closer to the sunset of Universal Analytics in 2023.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/thanh-vi-le/dates/2022/6/integrate-optimizely-with-ga4/</guid>            <pubDate>Thu, 23 Jun 2022 18:48:31 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>