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.

This article will cover:


The concept behind this 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 sent Livechat message received Continually ready

Adding the events tracking code

The list below contains the necessary code to track each event, 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 Sent Event

The message event fires when the user receives a message from a team member.

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

Livechat Message Received Event

The message event fires when the user replies to a conversation

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

Example code

Let's assume you want to track the Name, Email, Phone, Company and appointment booked events. 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.