<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Install guides on Feasible</title>
    <link>https://feasible.lol/integrations/</link>
    <description>Recent content in Install guides on Feasible</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://feasible.lol/integrations/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Add website analytics to Astro</title>
      <link>https://feasible.lol/integrations/astro/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/astro/</guid>
      <description>&lt;p&gt;The tag goes in the layout every page uses - usually &lt;code&gt;src/layouts/Layout.astro&lt;/code&gt; - inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, with &lt;code&gt;is:inline&lt;/code&gt; on it.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-astro&#34; data-lang=&#34;astro&#34;&gt;&amp;lt;head&amp;gt;&#xA;  &amp;lt;meta charset=&amp;#34;utf-8&amp;#34; /&amp;gt;&#xA;  &amp;lt;title&amp;gt;{title}&amp;lt;/title&amp;gt;&#xA;  &amp;lt;script is:inline defer&#xA;          src=&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&#xA;&amp;lt;/head&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Which is the same tag as everywhere else:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;why-isinline&#34;&gt;Why is:inline&lt;/h2&gt;&#xA;&lt;p&gt;Astro takes ownership of &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tags it finds in components - bundling them, moving them, processing them through Vite. &lt;code&gt;is:inline&lt;/code&gt; tells it to leave this one as written, with its &lt;code&gt;src&lt;/code&gt; intact, in the place you put it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Django</title>
      <link>https://feasible.lol/integrations/django/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/django/</guid>
      <description>&lt;p&gt;The tag goes in your base template&amp;rsquo;s &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; - &lt;code&gt;templates/base.html&lt;/code&gt; in most projects - behind a flag that&amp;rsquo;s off everywhere except production.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Add a setting. In &lt;code&gt;settings.py&lt;/code&gt;:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;FEASIBLE_ENABLED &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;not&lt;/span&gt; DEBUG &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;and&lt;/span&gt; os&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;.&lt;/span&gt;environ&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;.&lt;/span&gt;get(&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;DJANGO_ENV&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;production&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Expose it with a two-line context processor, in &lt;code&gt;yourapp/context_processors.py&lt;/code&gt;:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;django.conf&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;import&lt;/span&gt; settings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#d2a8ff;font-weight:bold&#34;&gt;analytics&lt;/span&gt;(request):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ff7b72&#34;&gt;return&lt;/span&gt; {&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;feasible_enabled&amp;#34;&lt;/span&gt;: settings&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;.&lt;/span&gt;FEASIBLE_ENABLED}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Register it in &lt;code&gt;TEMPLATES&lt;/code&gt; → &lt;code&gt;OPTIONS&lt;/code&gt; → &lt;code&gt;context_processors&lt;/code&gt;, alongside the ones already there.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Put the tag in &lt;code&gt;templates/base.html&lt;/code&gt;, inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Framer</title>
      <link>https://feasible.lol/integrations/framer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/framer/</guid>
      <description>&lt;p&gt;The tag goes in &lt;strong&gt;Project settings → Custom Code&lt;/strong&gt;, in the head, on all pages - and it only runs once you publish.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;strong&gt;Project settings&lt;/strong&gt; in your Framer project.&lt;/li&gt;&#xA;&lt;li&gt;Select the &lt;strong&gt;Custom Code&lt;/strong&gt; tab in the left sidebar.&lt;/li&gt;&#xA;&lt;li&gt;Click &lt;strong&gt;Add Script&lt;/strong&gt;, or the &lt;strong&gt;+&lt;/strong&gt; if you already have one.&lt;/li&gt;&#xA;&lt;li&gt;Give it a name. &amp;ldquo;Feasible&amp;rdquo; is fine - the name is only for you.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag and set the placement to the &lt;strong&gt;head&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Leave the page selection alone so it applies everywhere.&lt;/li&gt;&#xA;&lt;li&gt;Set it to run &lt;strong&gt;Once&lt;/strong&gt;, not on every page visit.&lt;/li&gt;&#xA;&lt;li&gt;Save, then &lt;strong&gt;Publish&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;run-it-once-not-on-every-visit&#34;&gt;Run it once, not on every visit&lt;/h2&gt;&#xA;&lt;p&gt;Framer asks whether the code should run once or on every page visit. Pick &lt;strong&gt;Once&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Gatsby</title>
      <link>https://feasible.lol/integrations/gatsby/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/gatsby/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;gatsby-ssr.js&lt;/code&gt;, in the project root, through &lt;code&gt;onRenderBody&lt;/code&gt;. That&amp;rsquo;s the API that puts something in the head of every page Gatsby builds.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Create &lt;code&gt;gatsby-ssr.js&lt;/code&gt; in your project root if it isn&amp;rsquo;t there already.&lt;/li&gt;&#xA;&lt;li&gt;Add this:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-jsx&#34; data-lang=&#34;jsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;import&lt;/span&gt; React from &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;react&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;const&lt;/span&gt; onRenderBody &lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt; ({ setHeadComponents }) =&amp;gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  setHeadComponents([&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;script&lt;/span&gt; key&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;feasible&amp;#34;&lt;/span&gt; defer src&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&lt;/span&gt; /&amp;gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ]);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;};&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Restart the dev server. Gatsby reads &lt;code&gt;gatsby-ssr.js&lt;/code&gt; at startup and won&amp;rsquo;t pick up an edit while it&amp;rsquo;s running.&lt;/li&gt;&#xA;&lt;li&gt;Build and deploy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The &lt;code&gt;key&lt;/code&gt; isn&amp;rsquo;t decoration - React needs it on every element in an array, and Gatsby will warn at build time if it&amp;rsquo;s missing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Ghost</title>
      <link>https://feasible.lol/integrations/ghost/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/ghost/</guid>
      <description>&lt;p&gt;The tag goes in Ghost&amp;rsquo;s site-wide code injection field, under &lt;strong&gt;Site Header&lt;/strong&gt;. Nothing in your theme has to change.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open Ghost admin and go to &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Open &lt;strong&gt;Advanced → Code injection&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag into &lt;strong&gt;Site Header&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;That&amp;rsquo;s it. Code injected here lands inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; on every page of the site, so it keeps working when you switch themes, and it isn&amp;rsquo;t touched when you update one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Hugo</title>
      <link>https://feasible.lol/integrations/hugo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/hugo/</guid>
      <description>&lt;p&gt;The tag goes in your head partial: &lt;code&gt;layouts/_partials/head.html&lt;/code&gt; on Hugo 0.146 and later, or &lt;code&gt;layouts/partials/head.html&lt;/code&gt; on a project built before that.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This site runs on Hugo, so this page is written from the same problem you&amp;rsquo;re having.&lt;/p&gt;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Look in &lt;code&gt;layouts/&lt;/code&gt; for a head partial. If your project has one, paste the tag inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; and you&amp;rsquo;re done.&lt;/li&gt;&#xA;&lt;li&gt;If it lives in your theme instead - &lt;code&gt;themes/&amp;lt;name&amp;gt;/layouts/_partials/head.html&lt;/code&gt; - &lt;strong&gt;copy it&lt;/strong&gt; to the same path under your own &lt;code&gt;layouts/&lt;/code&gt; first, then edit the copy.&lt;/li&gt;&#xA;&lt;li&gt;Build and deploy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Hugo looks in your project&amp;rsquo;s &lt;code&gt;layouts/&lt;/code&gt; before the theme&amp;rsquo;s, so the copy wins. That&amp;rsquo;s the supported way to change a theme&amp;rsquo;s markup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Jekyll</title>
      <link>https://feasible.lol/integrations/jekyll/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/jekyll/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;_includes/head.html&lt;/code&gt;, inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;if-the-file-is-in-your-repo&#34;&gt;If the file is in your repo&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;code&gt;_includes/head.html&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag before &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Commit and push.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Done. Every layout that includes &lt;code&gt;head.html&lt;/code&gt; - which is all of them - now carries the tag.&lt;/p&gt;&#xA;&lt;h2 id=&#34;if-youre-on-a-gem-based-theme&#34;&gt;If you&amp;rsquo;re on a gem-based theme&lt;/h2&gt;&#xA;&lt;p&gt;Minima and the other gem themes don&amp;rsquo;t put their files in your repo. &lt;code&gt;_includes/&lt;/code&gt; might not even exist. You override a file by creating one with the same path.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Laravel</title>
      <link>https://feasible.lol/integrations/laravel/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/laravel/</guid>
      <description>&lt;p&gt;The tag goes in your Blade layout&amp;rsquo;s &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; - usually &lt;code&gt;resources/views/layouts/app.blade.php&lt;/code&gt; - wrapped in &lt;code&gt;@production&lt;/code&gt; so only the real site reports.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-blade&#34; data-lang=&#34;blade&#34;&gt;&amp;lt;head&amp;gt;&#xA;    &amp;lt;meta charset=&amp;#34;utf-8&amp;#34;&amp;gt;&#xA;    &amp;lt;title&amp;gt;{{ config(&amp;#39;app.name&amp;#39;) }}&amp;lt;/title&amp;gt;&#xA;&#xA;    @production&#xA;        &amp;lt;script defer&#xA;                src=&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&#xA;    @endproduction&#xA;&amp;lt;/head&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Unwrapped, it&amp;rsquo;s the same tag as everywhere else:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open your main layout. On a fresh Breeze or Jetstream install it&amp;rsquo;s &lt;code&gt;resources/views/layouts/app.blade.php&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the block above into &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Check whether you have more than one layout - see below.&lt;/li&gt;&#xA;&lt;li&gt;Deploy, then run &lt;code&gt;php artisan view:clear&lt;/code&gt; so the compiled views pick it up.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;you-probably-have-more-than-one-layout&#34;&gt;You probably have more than one layout&lt;/h2&gt;&#xA;&lt;p&gt;Breeze ships &lt;code&gt;layouts/app.blade.php&lt;/code&gt; and &lt;code&gt;layouts/guest.blade.php&lt;/code&gt;. The guest one wraps login, registration and password reset - often the highest-traffic pages you own, and the ones you most want in a funnel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Next.js</title>
      <link>https://feasible.lol/integrations/nextjs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/nextjs/</guid>
      <description>&lt;p&gt;The tag goes in your root layout - &lt;code&gt;app/layout.tsx&lt;/code&gt; - so it loads once for every route in the application.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;app-router&#34;&gt;App Router&lt;/h2&gt;&#xA;&lt;p&gt;Use &lt;code&gt;next/script&lt;/code&gt; in the root layout:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-tsx&#34; data-lang=&#34;tsx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;import&lt;/span&gt; Script &lt;span style=&#34;color:#ff7b72&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;next/script&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;default&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;function&lt;/span&gt; RootLayout({ children }&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; { children: &lt;span style=&#34;color:#ff7b72&#34;&gt;React.ReactNode&lt;/span&gt; }) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff7b72&#34;&gt;return&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;html&lt;/span&gt; lang&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;body&lt;/span&gt;&amp;gt;{children}&amp;lt;/&lt;span style=&#34;color:#7ee787&#34;&gt;body&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;Script&lt;/span&gt; src&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&lt;/span&gt; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;/&lt;span style=&#34;color:#7ee787&#34;&gt;html&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  );&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There&amp;rsquo;s no &lt;code&gt;defer&lt;/code&gt; attribute because &lt;code&gt;next/script&lt;/code&gt; handles that for you. The default &lt;code&gt;strategy&lt;/code&gt; is &lt;code&gt;afterInteractive&lt;/code&gt;, which is what you want. Next.js loads the script once and keeps it loaded across client-side navigations, which is the behavior our route tracking depends on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Nuxt</title>
      <link>https://feasible.lol/integrations/nuxt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/nuxt/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;nuxt.config.ts&lt;/code&gt;, under &lt;code&gt;app.head.script&lt;/code&gt;. Nuxt renders the head on the server, so it&amp;rsquo;s in the HTML the browser receives first.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ts&#34; data-lang=&#34;ts&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ff7b72&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#ff7b72&#34;&gt;default&lt;/span&gt; defineNuxtConfig({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  app&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    head&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      script&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          src&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          defer: &lt;span style=&#34;color:#ff7b72&#34;&gt;true&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ],&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;});&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Which produces this:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;code&gt;nuxt.config.ts&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Add the &lt;code&gt;app.head.script&lt;/code&gt; entry above, with your own script filename.&lt;/li&gt;&#xA;&lt;li&gt;Restart the dev server so the config reloads, then deploy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The filename is the one your setup screen shows, and it carries the domain inside the file. A snippet for a site you haven&amp;rsquo;t registered is dropped with the reason &lt;code&gt;unknown_site&lt;/code&gt;, which the ingestion health panel names for you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to React</title>
      <link>https://feasible.lol/integrations/react/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/react/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;index.html&lt;/code&gt; - the real HTML file your bundler serves - inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Vite:&lt;/strong&gt; &lt;code&gt;index.html&lt;/code&gt; sits in the project root, next to &lt;code&gt;package.json&lt;/code&gt;. Paste the tag into &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, above the &lt;code&gt;&amp;lt;script type=&amp;quot;module&amp;quot; src=&amp;quot;/src/main.tsx&amp;quot;&amp;gt;&lt;/code&gt; line.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Create React App:&lt;/strong&gt; the file is &lt;code&gt;public/index.html&lt;/code&gt;. Same place, inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Anything else:&lt;/strong&gt; find the one HTML file your build tool uses as a template. There&amp;rsquo;s always one, and it&amp;rsquo;s the file with &lt;code&gt;&amp;lt;div id=&amp;quot;root&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt; in it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Shopify</title>
      <link>https://feasible.lol/integrations/shopify/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/shopify/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;layout/theme.liquid&lt;/code&gt;, just before &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;From your Shopify admin, go to &lt;strong&gt;Online Store&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Click the &lt;strong&gt;⋯&lt;/strong&gt; menu next to your live theme and choose &lt;strong&gt;Edit code&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Under &lt;strong&gt;Layout&lt;/strong&gt;, open &lt;code&gt;theme.liquid&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag immediately before &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Check the result on your live storefront, not in the theme editor&amp;rsquo;s preview pane.&lt;/p&gt;&#xA;&lt;h2 id=&#34;checkout-is-a-different-surface&#34;&gt;Checkout is a different surface&lt;/h2&gt;&#xA;&lt;p&gt;Your theme doesn&amp;rsquo;t render checkout. Shopify does, on its own pages, and those pages don&amp;rsquo;t include your theme&amp;rsquo;s code. So checkout and post-purchase pages won&amp;rsquo;t appear in your pages report, on any plan.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Squarespace</title>
      <link>https://feasible.lol/integrations/squarespace/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/squarespace/</guid>
      <description>&lt;p&gt;The tag goes in Squarespace&amp;rsquo;s site-wide &lt;strong&gt;Code Injection&lt;/strong&gt; panel, in the &lt;strong&gt;Header&lt;/strong&gt; box.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;check-your-plan-first&#34;&gt;Check your plan first&lt;/h2&gt;&#xA;&lt;p&gt;Code Injection isn&amp;rsquo;t on every Squarespace plan. Squarespace&amp;rsquo;s own help page lists it as available on &lt;strong&gt;&amp;ldquo;Core, Plus, Advanced, and some legacy billing plans&amp;rdquo;&lt;/strong&gt; (checked September 3, 2026). On the entry-level plan there is no Code Injection panel to open, and no amount of clicking will find one.&lt;/p&gt;&#xA;&lt;p&gt;If that&amp;rsquo;s you, the options are to upgrade, or to run Squarespace&amp;rsquo;s built-in analytics and accept what it gives you. We&amp;rsquo;d rather tell you that now than after you&amp;rsquo;ve read four hundred more words.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to SvelteKit</title>
      <link>https://feasible.lol/integrations/svelte/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/svelte/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;src/app.html&lt;/code&gt;, inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;. That file wraps every page SvelteKit renders, server-side and client-side both.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;code&gt;src/app.html&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, next to &lt;code&gt;%sveltekit.head%&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Deploy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;head&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;meta&lt;/span&gt; charset&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;link&lt;/span&gt; rel&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;icon&amp;#34;&lt;/span&gt; href&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;%sveltekit.assets%/favicon.png&amp;#34;&lt;/span&gt; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;meta&lt;/span&gt; name&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; content&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;width=device-width, initial-scale=1&amp;#34;&lt;/span&gt; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#7ee787&#34;&gt;script&lt;/span&gt; defer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          src&lt;span style=&#34;color:#ff7b72;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a5d6ff&#34;&gt;&amp;#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#7ee787&#34;&gt;script&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  %sveltekit.head%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#7ee787&#34;&gt;head&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;or-the-root-layout&#34;&gt;Or the root layout&lt;/h2&gt;&#xA;&lt;p&gt;If your project keeps head material in Svelte rather than in &lt;code&gt;app.html&lt;/code&gt;, use &lt;code&gt;&amp;lt;svelte:head&amp;gt;&lt;/code&gt; in &lt;code&gt;src/routes/+layout.svelte&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Vue</title>
      <link>https://feasible.lol/integrations/vue/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/vue/</guid>
      <description>&lt;p&gt;The tag goes in &lt;code&gt;index.html&lt;/code&gt;, in &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; - the HTML file Vite serves, not a component.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;code&gt;index.html&lt;/code&gt; in your project root, next to &lt;code&gt;package.json&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, above the &lt;code&gt;&amp;lt;script type=&amp;quot;module&amp;quot; src=&amp;quot;/src/main.ts&amp;quot;&amp;gt;&lt;/code&gt; line.&lt;/li&gt;&#xA;&lt;li&gt;Rebuild and deploy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;On a Vue CLI project the file is &lt;code&gt;public/index.html&lt;/code&gt; instead. Same place inside it.&lt;/p&gt;&#xA;&lt;p&gt;Nuxt is different - the tag goes in &lt;code&gt;nuxt.config.ts&lt;/code&gt;. See &lt;a href=&#34;https://feasible.lol/integrations/nuxt/&#34;&gt;the Nuxt guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hash-mode-is-the-vue-gotcha&#34;&gt;Hash mode is the Vue gotcha&lt;/h2&gt;&#xA;&lt;p&gt;If your router is built with &lt;code&gt;createWebHashHistory()&lt;/code&gt;, every route lives in the fragment:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Webflow</title>
      <link>https://feasible.lol/integrations/webflow/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/webflow/</guid>
      <description>&lt;p&gt;The tag goes in &lt;strong&gt;Site settings → Custom code → Head code&lt;/strong&gt;, and it does nothing at all until you publish.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open your project and go to &lt;strong&gt;Site settings&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Open the &lt;strong&gt;Custom code&lt;/strong&gt; tab.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag into &lt;strong&gt;Head code&lt;/strong&gt;. It&amp;rsquo;s inserted before the closing &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt; tag on every page.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Save changes&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Publish&lt;/strong&gt; the site.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The Head code field holds up to 50,000 characters, so there&amp;rsquo;s room alongside whatever else you have in there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add website analytics to Wix</title>
      <link>https://feasible.lol/integrations/wix/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/wix/</guid>
      <description>&lt;p&gt;The tag goes in &lt;strong&gt;Settings → Custom Code&lt;/strong&gt;, placed in the &lt;strong&gt;Head&lt;/strong&gt; on &lt;strong&gt;All pages&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;script defer src=&#34;https://app.feasible.lol/js/fs-k7m2q4x5r3n6t2v5.js&#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2 id=&#34;check-this-first&#34;&gt;Check this first&lt;/h2&gt;&#xA;&lt;p&gt;Wix&amp;rsquo;s own instructions open with a requirement: &lt;strong&gt;&amp;ldquo;Make sure that your site is published and has a connected domain.&amp;rdquo;&lt;/strong&gt; A site still on a &lt;code&gt;wixsite.com&lt;/code&gt; address can&amp;rsquo;t run custom code, which in practice means custom code needs a paid Wix plan, because that&amp;rsquo;s what a connected domain needs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Go to &lt;strong&gt;Settings&lt;/strong&gt; in your site&amp;rsquo;s dashboard.&lt;/li&gt;&#xA;&lt;li&gt;Under &lt;strong&gt;Development &amp;amp; integrations&lt;/strong&gt;, click &lt;strong&gt;Custom Code&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Click &lt;strong&gt;+ Add Custom Code&lt;/strong&gt; at the top right.&lt;/li&gt;&#xA;&lt;li&gt;Paste the tag into the code box.&lt;/li&gt;&#xA;&lt;li&gt;Give it a name - &amp;ldquo;Feasible&amp;rdquo; does fine. It&amp;rsquo;s only for you.&lt;/li&gt;&#xA;&lt;li&gt;Under &lt;strong&gt;Add Code to Pages&lt;/strong&gt;, choose &lt;strong&gt;All pages&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Under &lt;strong&gt;Place Code in&lt;/strong&gt;, choose &lt;strong&gt;Head&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Click &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;what-wix-hides&#34;&gt;What Wix hides&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Changing your domain deletes your snippets.&lt;/strong&gt; Wix says so directly: assign a different domain to the site and your code snippets are removed. If you migrate a domain and your numbers go flat the same week, this is the first thing to check, not the last.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WordPress analytics, without the Google round trip</title>
      <link>https://feasible.lol/integrations/wordpress/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://feasible.lol/integrations/wordpress/</guid>
      <description>&lt;p&gt;Most people searching for a WordPress analytics plugin don&amp;rsquo;t need a plugin. They need to decide what happens to the numbers.&lt;/p&gt;&#xA;&lt;p&gt;There are three answers, and they&amp;rsquo;re genuinely different products.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-three-kinds&#34;&gt;The three kinds&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;A plugin that puts Google Analytics in your dashboard.&lt;/strong&gt; MonsterInsights and &lt;a href=&#34;https://wordpress.org/plugins/google-site-kit/&#34;&gt;Site Kit by Google&lt;/a&gt; are the two most people land on. MonsterInsights describes itself as &lt;a href=&#34;https://wordpress.org/plugins/google-analytics-for-wordpress/&#34;&gt;&amp;ldquo;the best free Google Analytics plugin for WordPress&amp;rdquo;&lt;/a&gt;, which is exactly what it is: a nicer window onto GA4. The data still goes to Google, you still get GA4&amp;rsquo;s reports, and you still need a consent banner. Checked September 6, 2026.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
