Webflow
Install the Coframe SDK in a Webflow site via Custom Code
Copy this guide and your current settings as a prompt for your AI agent.
Preview agent promptSee the guide, code and settings included when you copy.
This guide is for sites hosted and managed on Webflow. Webflow provides a Custom
Code panel that lets you inject HTML into the <head> of every page on your
site, which is exactly where the Coframe installation script needs to go.
If your site is not on Webflow, see the JavaScript guide for general HTML-based installation.
01Webflow steps
- In your Webflow project, open ⚙️ Site settings from the left-hand navigation or the dashboard.
- Go to the Custom code tab.
- Find the Head Code section and paste the installation script (see below) into the text area.
- Click Save Changes.
- Publish your site. The script will not be active for visitors until the site is published.
The script must be added directly in Webflow’s Custom Code panel — do not load it through an async tag manager such as Google Tag Manager. Because anti-flicker is enabled, the script needs to run synchronously before the browser renders the page body.
Set your project ID and options in the editor. Then follow the steps below using the updated code.
Open the editor to correct your Project ID before copying the installation code.
02Installation script
Copy the script below and paste it into the Head Code section of your Webflow
Site settings. Replace YOUR_PROJECT_ID with the project ID from your Coframe
dashboard.
<script id='coframe-installation-script'>
(function () {
// Early exit for performance testing
if (/cf_disable/.test(location.search)) return console.warn('[Coframe] Disabled via URL parameter');
// Coframe config
const config = {
projectId: 'YOUR_PROJECT_ID',
startTime: Date.now(),
timeoutMs: 1000,
currentUrl: window.location.href,
};
// Prevent duplicate installation
const script_id = 'coframe-sdk-js';
if (document.getElementById(script_id)) return console.warn('[Coframe] SDK already installed');
// Coframe queue setup
(window.CFQ = window.CFQ || []).push({ config });
// Coframe antiflicker CSS
const style = document.createElement('style');
style.id = 'coframe-antiflicker';
style.textContent =
':root { --cf-show: 0;}' +
'body { opacity: var(--cf-show) !important; transition: opacity 0.2s ease; }'
function hide() { document.head.appendChild(style); }
function show() {
document.documentElement.style.setProperty('--cf-show', '1');
style.parentNode && style.parentNode.removeChild(style);
}
hide(); setTimeout(show, config.timeoutMs);
// Coframe SDK JS
var edgeUrl = new URL('https://edge.cofra.me/cf.js');
edgeUrl.searchParams.set('config', encodeURIComponent(JSON.stringify(config)));
const script = document.createElement('script');
script.id = script_id;
script.async = true;
script.src = edgeUrl.toString();
script.onerror = () => { show(); console.error('[Coframe] SDK failed to load'); };
document.head.appendChild(script);
})();
</script>03Verify it is working
After publishing your Webflow site:
- Open the live site in a browser, then open the browser console and confirm
there are no
[Coframe]error messages. - In the Network tab, look for a request to
edge.cofra.me/cf.js. A successful200response means the SDK loaded correctly. - Check that a
coframe-sdk-jsscript element appears in the DOM (you can inspect the<head>in the Elements panel).
For a full walkthrough of how to validate the integration and confirm that Coframe is operating as expected, see Testing and Validation.
04Optional configuration
The default script is designed to work without additional configuration. Once the SDK is installed, you can tune behavior using the following guides:
- SDK options — timeout, disable conditions, and other core settings
- Identity settings — associate SDK activity with a known user identity
- Tracking settings — control which events and page interactions Coframe records
- Anti-flicker — understand how the anti-flicker mechanism works and how to adjust it for your performance requirements
# Webflow
Install the Coframe SDK in a Webflow site via Custom Code
This guide is for sites hosted and managed on Webflow. Webflow provides a Custom
Code panel that lets you inject HTML into the `<head>` of every page on your
site, which is exactly where the Coframe installation script needs to go.
If your site is not on Webflow, see the [JavaScript guide](../docs/javascript.html)
for general HTML-based installation.
[Video: Video: pasting into Site settings → Custom code, publishing, and verifying in DevTools (65s, narrated)](assets/videos/fig12-install-webflow.mp4)
Watch: 65s — pasting into Site settings → Custom code, publishing, and verifying in DevTools
## Webflow steps
- In your Webflow project, open ⚙️ Site settings from the left-hand
navigation or the dashboard.
- Go to the Custom code tab.
- Find the Head Code section and paste the installation script (see below)
into the text area.
- Click Save Changes.
- Publish your site. The script will not be active for visitors until the
site is published.
The script must be added directly in Webflow’s Custom Code panel — do not load
it through an async tag manager such as Google Tag Manager. Because anti-flicker
is enabled, the script needs to run synchronously before the browser renders the
page body.
## Installation script
Copy the script below and paste it into the Head Code section of your Webflow
Site settings. Replace `YOUR_PROJECT_ID` with the project ID from your Coframe
dashboard.
HTML
```html
<script id='coframe-installation-script'>
(function () {
// Early exit for performance testing
if (/cf_disable/.test(location.search)) return console.warn('[Coframe] Disabled via URL parameter');
// Coframe config
const config = {
projectId: 'YOUR_PROJECT_ID',
startTime: Date.now(),
timeoutMs: 1000,
currentUrl: window.location.href,
};
// Prevent duplicate installation
const script_id = 'coframe-sdk-js';
if (document.getElementById(script_id)) return console.warn('[Coframe] SDK already installed');
// Coframe queue setup
(window.CFQ = window.CFQ || []).push({ config });
// Coframe antiflicker CSS
const style = document.createElement('style');
style.id = 'coframe-antiflicker';
style.textContent =
':root { --cf-show: 0;}' +
'body { opacity: var(--cf-show) !important; transition: opacity 0.2s ease; }'
function hide() { document.head.appendChild(style); }
function show() {
document.documentElement.style.setProperty('--cf-show', '1');
style.parentNode && style.parentNode.removeChild(style);
}
hide(); setTimeout(show, config.timeoutMs);
// Coframe SDK JS
var edgeUrl = new URL('https://edge.cofra.me/cf.js');
edgeUrl.searchParams.set('config', encodeURIComponent(JSON.stringify(config)));
const script = document.createElement('script');
script.id = script_id;
script.async = true;
script.src = edgeUrl.toString();
script.onerror = () => { show(); console.error('[Coframe] SDK failed to load'); };
document.head.appendChild(script);
})();
</script>
```
## Verify it is working
After publishing your Webflow site:
- Open the live site in a browser, then open the browser console and confirm
there are no `[Coframe]` error messages.
- In the Network tab, look for a request to `edge.cofra.me/cf.js`. A
successful `200` response means the SDK loaded correctly.
- Check that a `coframe-sdk-js` script element appears in the DOM (you can
inspect the `<head>` in the Elements panel).
For a full walkthrough of how to validate the integration and confirm that
Coframe is operating as expected, see
[Testing and Validation](../docs/testing-and-validation.html).
## Optional configuration
The default script is designed to work without additional configuration. Once the
SDK is installed, you can tune behavior using the following guides:
- [SDK options](../docs/sdk-options.html) — timeout, disable conditions,
and other core settings
- [Identity settings](../docs/identity-settings.html) — associate SDK
activity with a known user identity
- [Tracking settings](../docs/tracking-settings.html) — control which
events and page interactions Coframe records
- [Anti-flicker](../docs/anti-flicker.html) — understand how the anti-flicker
mechanism works and how to adjust it for your performance requirements