How to track and target leads with Facebook retargeting pixel

Facebook Pixel is a powerful analytics tool that allows you to measure the effectiveness of your ads by understanding the actions users do in your Continually conversations and target them later with your ads. This will ensure your ads are targeted to the correct people who are interested in your website.

Continually supports automatic and manual integration with Facebook Pixel, the automatic integration syncs all the events directly to your Facebook Pixel, whereas the manual integration allows you to specify which events you want to track.

This article will cover:

Integrate Continually with Facebook automatically

To sync Continually events directly with Facebook Pixel all you need is your Pixel ID. Go to the Apps page, find the Facebook integration under the Tracking & Analysis tab and click on the Connect button. Then enter your Pixel ID and click Save. That's it! Now Continually will sync all the events to your Google Pixel. Keep reading to learn more about how to create custom audience from leads captured through Continually.

To see all the events that will be synced click on the Event tracking tab

Introduction for manual integration

The concept behind the manual integration is simple, Continually already has different events that we can use with the Continually JS API, all we need to do is fire a custom Facebook event along with the default Continually events.


These prerequisites are important before you can proceed with this tutorial, if you don't have the Facebook Pixel base code installed on your website please add it first and install the Facebook Pixel Help extension on your browser.

Available Continually events that can be tracked and sent to FB Pixel

Name capture

Email capture Phone capture Company capture Sidebar Open

Sidebar Close

Appointment Request Appointment Booked Conversation Start Conversation End

Welcome Message opened

Welcome Message closed Livechat message Livechat message sent Continually ready

Adding the events tracking code manually

The list below contains the necessary code to track each event manually, just copy the code of the events you want to track and wrap between an opening and closing <script> tag. Here is an example:


Insert the code anywhere on your webpage between the opening and closing <body> tags, preferably at the footer of your website. Check the detailed example after this section.

Name Capture Event

The event fires when a user provides their name.

continually.on('nameCapture', function(event){
fbq('trackCustom', 'Continually-NameCapture', {Name:}); });

Email Capture Event

The event fires when a user provides their email, either for email or for appointment question

continually.on('emailCapture', function(event){
fbq('trackCustom', 'Continually-EmailCapture', {Email:});});

Phone Capture Event

The event fires when a user provides their phone

continually.on('phoneCapture', function(event){
fbq('trackCustom', 'Continually-PhoneCapture', {Phone:});});

Company Capture Event

The event fires when a user provides their company

continually.on('companyCapture', function(event){
fbq('trackCustom', 'Continually-CompanyCapture', {Company:});});

Sidebar Open Event

Is fired when a lead clicks on continually message/button/their own element with ‘continually’ class - i.e when sidebar is opened

continually.on('sidebarOpen', function(event){
fbq('trackCustom', 'Continually-SidebarOpen', {Company: event.widget});});

Sidebar Close Event

Is fired when a lead clicks on sidebar close button.

continually.on('sidebarClose', function(event){
fbq('trackCustom', 'Continually-SidebarClose', {Company: event.widget});});

Appointment Request Event

The event fires once a lead is provided with Appointment question with a calendar connected 

continually.on('scheduling:requestMeeting', function(event){
fbq('trackCustom', 'Continually-AppointmentRequested', {Appointment-Calendar:});});

Appointment Booked Event

The event fires if a lead confirms appointment request (by choosing a timeslot, event doesn’t fire if a lead proposes custom time)

continually.on('scheduling:meetingBooked', function(event){
fbq('trackCustom', 'Continually-AppointmentBooked', {Appointment: event.appointment});});

Conversation Start Event

The startConversation event fires when the user starts a new chat.

continually.on('startConversation', function(event){
fbq('trackCustom', 'Continually-ConversationStart', {ConversationID: event.conversationId});});

Conversation End Event

The event fires when the user completes conversation.

continually.on('completeConversation', function(event){
fbq('trackCustom', 'Continually-ConversationEnd', {ConversationID: event.conversationId});});

Welcome Message Open Event

Is fired when continually widget appears. The event isn’t fired if conversation format is ‘hidden’

continually.on('welcomeMessage:open', function(event){
fbq('trackCustom', 'Continually-WelcomeMessageOpen', {ConversationID: event.widget});});

Welcome Message Closed Event

Is fired when a lead closes continually message.

continually.on('welcomeMessage:close', function(event){
fbq('trackCustom', 'Continually-WelcomeMessageClosed', {ConversationID: event.widget});});

Livechat Message Event

The message event fires when the user receives a message from an agent.

continually.on('message', function(event){
fbq('trackCustom', 'Continually-MessageSent');});

Livechat Message Sent Event

The message event fires when the user replies to a conversation

continually.on('message:sent', function(event){
fbq('trackCustom', 'Continually-MessageReceived');});

Example code for the manual integration

Let's assume you want to track the Name, Email, Phone, Company and appointment booked events manually. Copy the corresponding code for each event and wrap them between the script tag as mentioned above, the full code will be :

continually.on('nameCapture', function(event){
fbq('trackCustom', 'Continually-NameCapture', {Name:}); });

continually.on('emailCapture', function(event){
fbq('trackCustom', 'Continually-EmailCapture', {Email:});});

continually.on('phoneCapture', function(event){
fbq('trackCustom', 'Continually-PhoneCapture', {Phone:});});

continually.on('companyCapture', function(event){
fbq('trackCustom', 'Continually-CompanyCapture', {Company:});});

continually.on('scheduling:meetingBooked', function(event){
fbq('trackCustom', 'Continually-AppointmentBooked', {Appointment: event.appointment});});

Now add this code anywhere on your page between the opening and closing <body> tags. 

Checking events are set up correctly

Open your website and check the Facebook Pixel Helper extension, you will see the events you added listed in the Helper extension but have a yellow sign because they are not fired yet. Engage with your bot to trigger the events, then check the Facebook Pixel Helper extension and it should monitor the fired events.  

You can now go to your Facebook Pixel Dashboard and the events will show up there.

Creating custom audience from the captured Continually events

1. Go to your Facebook Pixel Manager

2. Click on Create -> Create Custom Audience.

3. Select the events you want and the retention period (The number of days you want people to remain in your audience after the event is fired). 

4. Name your audience and save it. You can now use this audience in your ads to retarget these leads who engaged with your bots on your website.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.