Your Google Ads conversion tracking is not working on Squarespace because your code is in the wrong injection field. Squarespace requires the event snippet to sit exactly on the order confirmation page or the form success page. If your cookie banner is active, it will also block Google Ads from seeing the conversion entirely.
When your Google Ads conversion tracking is not working on Squarespace, you are flying blind and wasting ad spend. You need to identify exactly which setting is breaking the connection. The problem is usually a missing dynamic variable, an active AJAX loading setting, or a simple placement error in your advanced settings.
Why is my google ads conversion tracking not working on squarespace?
Google Ads requires a strict two part code installation to track a conversion. The first part is the global site tag. This script must load on every single page of your website. The second part is the event snippet. This script must load only on the specific page where the conversion happens. If you place the event snippet in the global header, Google Ads will count a conversion every time a user visits your homepage. If you place the global tag on the checkout page only, Google Ads cannot connect the final purchase back to the original ad click. You must separate these two codes perfectly within the Squarespace dashboard.
You are on the wrong Squarespace subscription plan
Squarespace restricts custom code based on your billing tier. If you are on the Personal plan, you cannot use the code injection feature. This means you cannot install the Google Ads global site tag. Without the global site tag, conversion tracking is impossible. You must upgrade your website to the Business plan or a Commerce plan. Once you upgrade, the code injection menu becomes available in your advanced settings. If you are trying to use a markdown block or an embed block to bypass this restriction, it will fail. Google Ads scripts must sit in the document header to function correctly.
Your base tag is missing from the global header
Before you change any event settings, you must confirm your base tag is actually present. Run your website URL through a Google Ads conversion tracking checker to see exactly which global tags are loading on your homepage and whether they are active. This tells you if your foundation is solid. To install the base tag correctly, open your Squarespace dashboard. Click on Settings. Scroll down to Advanced and click on Code Injection. You will see a large text box labelled Header. Paste your Google Ads global site tag into this exact box. Do not paste it into the Footer box. Do not paste it into the Lock Screen box. Click save. This ensures the base code fires every time a user navigates to a new page on your domain.
Your event snippet is in the wrong place
The most common reason your tracking fails is bad event snippet placement. Do not put your event snippet in the global Code Injection header. If you are tracking e-commerce purchases, your event snippet belongs on the order confirmation page. Squarespace has a dedicated field for this. Go to Settings, then Advanced, then Code Injection. Scroll past the Header and Footer boxes until you find the Order Confirmation Page box. Paste your event snippet here.
If you are tracking lead generation forms, you must inject the code into the specific success page. Create a hidden thank you page on your website. Set your Squarespace form to redirect to this page upon submission. Open the settings for that specific thank you page. Click on Advanced. Paste your event snippet into the Page Header Code Injection box.
You are missing dynamic commerce variables
When a customer buys a product, Google Ads needs to know the exact transaction value. If you paste the standard event snippet directly from Google Ads, it sends a static value or no value at all. You must edit the snippet to include Squarespace dynamic variables. Look at your event snippet code. You will see a line for the transaction ID and a line for the value. Replace the placeholder text with the exact Squarespace tags.
Here is the exact setup you need for your variables:
- Change the transaction ID value to {orderId}.
- Change the conversion value to {orderSubtotal}.
- Ensure you keep the single quote marks around the variables if the script requires them.
- Leave the currency code as your default store currency.
When the order confirmation page loads, Squarespace reads those bracketed variables. It replaces them with the real order number and the real purchase amount before sending the data to Google Ads. If you type these variables incorrectly, the script breaks and the conversion fails.
AJAX loading is blocking your tracking scripts
If you use a Squarespace version 7.0 template, your website likely uses AJAX loading. AJAX is a design feature that makes your website feel faster. It loads new page content smoothly without forcing the browser to perform a hard refresh. This breaks Google Ads tracking. Tracking scripts rely on a hard page load to trigger. When a user navigates your site using AJAX, the global site tag does not fire again. When they reach your form success page, the event snippet remains dormant. You must turn this feature off. Go to your Squarespace Design menu. Click on Site Styles. Scroll down to the Site Loading section. Uncheck the box that says Enable Ajax Loading. Save your changes and publish the site. Your scripts will now fire correctly on every page load.
Your cookie consent banner is suppressing the tag
Privacy laws require websites to ask for permission before tracking users. Squarespace includes a built-in cookie banner to handle this compliance. When you activate the Squarespace cookie banner, it automatically blocks all non-essential scripts. This includes your Google Ads tracking codes. The scripts will not load until the user explicitly clicks the accept button on the banner. If a user ignores the banner and makes a purchase, Google Ads will never see the conversion. If a user clicks decline, the tracking remains blocked. You cannot force the script to fire through the native Squarespace banner without consent. If you suspect this is your issue, you can temporarily disable the cookie banner in your settings to test the tracking. If the tracking works with the banner off, you know consent suppression is the root cause.
You are testing the conversion incorrectly
Many store owners complete a test purchase and immediately check their Google Ads dashboard. They see a status that says no recent conversions and assume the tracking is broken. This is a fundamental misunderstanding of how the platform works. Google Ads will only record a conversion if the user clicked an active ad before completing the action. Your direct test visit has no ad click history attached to it. The platform ignores your test completely. This is a common point of confusion in official Google Ads community discussions regarding Squarespace tracking.
To test your setup properly, you must use Google Tag Assistant. Open tagassistant.google.com in your Chrome browser. Enter your website URL and connect the assistant. Navigate through your website and complete a test form or a test purchase. Look at the Tag Assistant window. It will show you exactly which tags fired on the final page. If the event snippet shows a green status, your tracking is working perfectly. You just need to wait for a real customer to click an ad and convert.
Using Google Tag Manager as an alternative
Injecting raw code into Squarespace works for simple setups. When your marketing grows, managing multiple scripts becomes messy. You might need to install Meta Pixel, Google Analytics, and Google Ads all at once. The best approach is troubleshooting your Google Tag Manager container and using it as a central hub. You install the single Tag Manager script into your Squarespace global header. You then build all your conversion tags inside the Tag Manager dashboard. This keeps your Squarespace code injection clean. It also gives you precise control over when and where each script fires. If you are fixing your Google Ads conversion tracking across multiple platforms, standardising on Tag Manager is the smartest move.
Bypassing browser limits completely
Browser tracking is becoming less reliable every month. Ad blockers stop your scripts from loading. Apple intelligent tracking prevention deletes your cookies. Users decline your consent banners. When these things happen, your Google Ads event snippet never fires, even if your Squarespace setup is flawless. The only way to capture every conversion is by moving to a server side tracking setup.
Server tracking removes the browser from the equation entirely. Instead of relying on a script loaded in Chrome or Safari, your Squarespace server sends the purchase data directly to the Google Ads server. Ad blockers cannot see this connection. Browser privacy features cannot block it. It ensures your ad platform receives the exact conversion value for every single purchase. If you are spending heavily on ads and losing data to browser restrictions, you need to upgrade your infrastructure. You can reach out to our tracking team to map out the exact architecture required for your business.