What you’ll get
When you integrate Pointer into your marketing website, your visitors will have access to:
Answer engine : instant answers to visitor questions based on your company knowledge and content
Prerequisites
A marketing website (Code-based, Webflow, WordPress, Framer, etc.)
Access to edit custom HTML/JavaScript on your website
A Pointer project with your project ID
Installation
Script tag External file Google Tag Manager Perfect for any website platform where you can add custom HTML/JavaScript.
Get your project ID
Login to the Pointer dashboard
Create a new project or select an existing one
Copy your project ID from the setup section
Add the script tag
Add the Pointer script to your website. The exact location depends on your platform:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Platform-specific setup
Navigate to Site settings (not the designer)
Open the Custom code tab
Add the script to the Head code section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Press Save to apply your settings
Publish your site to make the changes live
Open Site Settings in the drop-down menu
Click on the Open Settings tab
Go to the General section
Add the script to the Start of <head>
tag section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save to apply your changes
This method requires installing a plugin to add custom code.
Open WordPress admin panel
Select the Plugins tab
Open the Add New Plugin section
Install the Head & Footer Code plugin
Under the Tools tab, open Head & Footer Code
Add the script to the HEAD Code section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save Changes
In the Home menu, click Settings
Click Advanced , then click Code Injection
Add the script to the Header section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Go to Settings in your site dashboard
Click Custom Code under Advanced
Click + Add Custom Code
Paste the script and set it to load on All Pages in the Head :
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Apply
Go to Online Store → Themes
Click Actions → Edit code
Open theme.liquid
in the Layout folder
Add the script before the closing </head>
tag:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Go to Settings → Code injection
Add the script to the Site Header section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Add the script to your gatsby-config.js
file:
module . exports = {
plugins: [
{
resolve: 'gatsby-plugin-html-head' ,
options: {
scripts: [
{
src: 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id' ,
async: true
}
]
}
}
]
}
Or add it directly to your HTML template.
Verify the integration
Visit your website and look for the Pointer widget in the bottom-right corner. You can test the connection in your project settings .
Perfect for any website platform where you can add custom HTML/JavaScript.
Get your project ID
Login to the Pointer dashboard
Create a new project or select an existing one
Copy your project ID from the setup section
Add the script tag
Add the Pointer script to your website. The exact location depends on your platform:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Platform-specific setup
Navigate to Site settings (not the designer)
Open the Custom code tab
Add the script to the Head code section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Press Save to apply your settings
Publish your site to make the changes live
Open Site Settings in the drop-down menu
Click on the Open Settings tab
Go to the General section
Add the script to the Start of <head>
tag section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save to apply your changes
This method requires installing a plugin to add custom code.
Open WordPress admin panel
Select the Plugins tab
Open the Add New Plugin section
Install the Head & Footer Code plugin
Under the Tools tab, open Head & Footer Code
Add the script to the HEAD Code section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save Changes
In the Home menu, click Settings
Click Advanced , then click Code Injection
Add the script to the Header section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Go to Settings in your site dashboard
Click Custom Code under Advanced
Click + Add Custom Code
Paste the script and set it to load on All Pages in the Head :
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Apply
Go to Online Store → Themes
Click Actions → Edit code
Open theme.liquid
in the Layout folder
Add the script before the closing </head>
tag:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Go to Settings → Code injection
Add the script to the Site Header section:
<script src="https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id"></script>
Click Save
Add the script to your gatsby-config.js
file:
module . exports = {
plugins: [
{
resolve: 'gatsby-plugin-html-head' ,
options: {
scripts: [
{
src: 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id' ,
async: true
}
]
}
}
]
}
Or add it directly to your HTML template.
Verify the integration
Visit your website and look for the Pointer widget in the bottom-right corner. You can test the connection in your project settings .
For better organization and caching, you can create a separate JavaScript file.
Create pointer.js file
Create a new file called pointer.js
and upload it to your website’s assets:
// Load Pointer SDK
( function () {
const script = document . createElement ( 'script' );
script . src = 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id' ;
script . async = true ;
document . head . appendChild ( script );
})();
Reference the file
Add a reference to your pointer.js
file in your website:
<script src="/pointer.js"></script>
Upload pointer.js
to your Webflow assets
Reference it in the Custom Code → Head section:
<script src="/pointer.js"></script>
Upload the file to your website’s /wp-content/themes/your-theme/js/
directory
Reference it in your theme’s header or via the Head & Footer Code plugin:
<script src="/wp-content/themes/your-theme/js/pointer.js"></script>
Verify the integration
Deploy your changes and verify the Pointer widget appears on your website.
For websites using Google Tag Manager for script management.
Create a new tag
Go to your Google Tag Manager workspace
Click Tags → New
Choose Custom HTML as the tag type
Add the Pointer script
In the HTML section, add:
<script>
(function() {
const script = document.createElement('script');
script.src = 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id';
script.async = true;
document.head.appendChild(script);
})();
</script>
Configure the trigger
Set the trigger to All Pages or specific pages where you want Pointer to appear
Save the tag with a descriptive name like “Pointer AI Assistant”
Submit and publish your GTM container
Verify the integration
Visit your website and verify the Pointer widget appears. Use GTM Preview mode to test before publishing.
Best practices
Allowed origins
Always configure allowed origins in your project settings to prevent unauthorized use of your project ID.
Pointer automatically lazy loads to minimize impact on your website’s load time
Consider loading the script asynchronously to avoid blocking page rendering
The widget only loads when needed, keeping your site fast
Content optimization
Pointer works best when it has access to your company knowledge
Add your website content, FAQs, and product information as knowledge sources
Include pricing information, feature descriptions, and common sales questions
User experience
Position the widget where visitors naturally look for help
Consider the customer journey and where AI assistance would be most valuable
Monitor conversations to identify common questions and improve your content
Conversion optimization
Use Pointer to qualify leads and route them to appropriate sales channels
Provide instant answers to common pre-purchase questions
Track which questions lead to conversions in your analytics
Advanced configuration
Custom triggers
If you want the Pointer widget to appear on a specific button instead of the default floating widget:
On the playground page , toggle “Set custom trigger” to true and set the trigger ID.
Create your custom trigger button on your website:
<button id="ask-ai-button" style="
background: #007bff;
color: white;
border: none;
padding: 12px 24px;
border-radius: 8px;
cursor: pointer;
font-weight: 500;
">
Ask AI Anything
</button>
Update your script to include the trigger ID:
( function () {
const script = document . createElement ( 'script' );
script . src = 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id&triggerId=ask-ai-button' ;
script . async = true ;
document . head . appendChild ( script );
})();
Conditional loading
Load Pointer only on specific pages or for certain visitors:
// Only load on product and pricing pages
if ( window . location . pathname . includes ( '/products/' ) ||
window . location . pathname . includes ( '/pricing' )) {
const script = document . createElement ( 'script' );
script . src = 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id' ;
script . async = true ;
document . head . appendChild ( script );
}
A/B testing integration
// Load different configurations based on A/B test variants
( function () {
const isVariantB = Math . random () < 0.5 ; // Your A/B testing logic
const projectId = isVariantB ? 'pt_proj_variant-b-id' : 'pt_proj_variant-a-id' ;
const script = document . createElement ( 'script' );
script . src = `https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId= ${ projectId } ` ;
script . async = true ;
document . head . appendChild ( script );
})();
Lead tracking integration
// Example integration with marketing analytics
( function () {
const script = document . createElement ( 'script' );
script . src = 'https://cdn.pointer.so/pointer-sdk@latest/pointer.browser.js?projectId=pt_proj_your-project-id' ;
script . async = true ;
// Track when Pointer loads for analytics
script . onload = function () {
if ( typeof gtag !== 'undefined' ) {
gtag ( 'event' , 'pointer_loaded' , {
'event_category' : 'ai_assistant' ,
'event_label' : 'widget_ready'
});
}
};
document . head . appendChild ( script );
})();
Next steps
After successfully integrating Pointer into your website:
Add company knowledge
Upload your website content, product documentation, and sales materials in the knowledge section to train your AI assistant.
Customize for your brand
Use the playground to customize your widget’s appearance, messaging, and behavior to match your brand and conversion goals.
Monitor visitor interactions
Track how visitors interact with your AI assistant in the analytics dashboard to identify opportunities for optimization.
Optimize for conversions
Based on visitor questions and behavior, continuously improve your content and consider adding conversion-focused prompts to guide visitors toward desired actions.