How to use code on a Squarespace Personal or Basic plan
If youβve ever tried to install a Squarespace plugin, or a small snippet of code to a Squarespace website that is on the cheapest plan (known as βPersonalβ or βBasicβ) then youβve probably discovered that Squarespace does not want you to use custom code on these plans.
Squarespace restricts custom code on βBasicβ and βPersonalβ plans as a billing feature differentiation, calling it a βPremium Featureβ.
If youβre on one of these cheaper βBasicβ and βPersonalβ billing plans there is:
No Footer Code Injection
No Header Code Injection
No official support for custom scripts
No guaranteed compatibility with third-party plugins
However, there is a long-standing workaround using Markdown Blocks.
Using Markdown Blocks
For many years, users have been able to add JavaScript to sites on βPersonalβ or βBasicβ plans using Markdown Blocks, instead of Code Injection.
Instead of adding code using the Code Injection (Footer) panel, you can instead place your <script> directly inside a Markdown Block in your site footer.
Step-by-Step Instructions
Edit your site footer.
Add a new Markdown Block anywhere inside your footer.
Inside the Markdown Block, paste your full script, usually starting with <script> and ending with </script>.
Save the page.
Thatβs it!
The risks
Letβs be very clear. Although this has worked for many years, Squarespace could remove this workaround at any time. If that happens, this workaround could stop working immediately, and so would your code. There is no guarantee of future compatibility. The correct approach is to upgrade to the βCoreβ website billing plan.
Why we donβt officially support this
You are welcome to use this workaround with the free code snippets that we provide but, as plugin developers, we build within the documented limits of the Squarespace platform, so we do not support this workaround when using our paid plugins.
Upgrading to a βCoreβ website billing plan is the safer, long-term approach. When youβre on a Core (or higher) plan, Squarespace has known limits, where we know scripts will load consistently. Behaviour is predictable and, if something breaks, we can report this issue to Squarespace engineers and they can fix it. The workaround is unsupported by Squarespace and you cannot depend on it.