Two systems — Facebook and web analytics — show different stats. Sounds familiar, right?

There are lots of reasons for the numbers to differ. The codes on your website may take too much time to load. It’s one thing. You may also read the metrics the wrong way.

But even if you do a triple-check of all possible errors, there is still a global problem. These are the different principles of counting the conversions.

It would be wrong to decide that one system tells the truth, and the other is misleading. Different systems register conversions following the different principles.

We’ll guide you through these principles. You’ll also find here our solution for getting more detailed stats on conversions in the Facebook ad system.

First things first. Let’s start with the theory. Why does even this problem arise?

How Facebook and web analytics systems count conversions

To explain everything in details, we need to get as precise as possible. From all existing web analytics systems, we’ll turn to the most popular one — Google Analytics.

The Google Analytics system tracks conversions considering the fact that the communication with users happens via several channels in sequence.

The targeted action performed at the website is the finish line for the customer path, that starts with a first acquaintance. Such a path is built from the touchpoints, where you reach out to users through multiple channels.

When a marketer evaluates all channels, based on their contribution to the goal, such a process is called a “multi-channel attribution”.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

The Google Analytics system “attributes” the conversion to the channel by the principle, which you select. These principles are the foundation for different Google Analytics attribution models.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

What about Facebook?

Facebook is a single channel. It doesn’t share the conversions with other channels. Facebook has one rule: the conversion is either scored or not.

Facebook system counts a conversion, if the targeted action is performed within the specified time period. This period is called “an attribution window”. By default, the attribution window is set to 1-day view and 28-day click.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

You can change it to show 1-day, 7-day, and 28-day view and click attribution. The minimum is 1 day though. But if you’re spending large sums on many channels, the conversion can be achieved through another channel (and not Facebook) even within 10 minutes.

An example: a user sees an ad on Facebook and makes a purchase on the website within 1 day. The conversion is scored. What Facebook doesn’t see is how this user closes Facebook and opens the website after clicking on a search ad. The last channel before the purchase is AdWords. In this case, Google Analytics will give AdWords the conversion, that Facebook assigns to itself.

Does this mean, that Facebook steals the achievements of other channels?

Such a conclusion would be a mistake. The targeted action is achieved not only thanks to the last channel.

Each channel can play the role in bringing the user to the conversion. The customer journey is built from the touchpoints, and different channels can equally contribute to the integrity of this path.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

Let’s put this simpler. A user learns about the product from an ad on social media, then searches on the web, clicks on the paid search result and performs a targeted action.

If a channel helped a user to get to the targeted action, it receives an assisted conversion. If a channel is a final touchpoint, it gets a direct conversion.

Now, let’s take a closer look at the difference between direct and assisted conversions.

How direct and assisted conversions are different

Assisted conversions are all user interactions that lead to the goal before it’s achieved. The assisted conversions show, which channels open a chain of touches and support the user along the path, prompting the result.

A direct conversion is scored, when a user performs the targeted action after the direct transition from an ad, without closing the website.

Google Analytics system divides the direct and assisted conversions. Facebook system doesn’t. It makes sense completely, since Facebook is one channel, and its reporting data are limited to this one channel.

It would be wrong to count only direct conversions in a multi-channel funnel. If you remove the channel, which initializes the customer journey, there will be nothing to finalize.

Channels, that usually get the assisted conversions, are needed to form and maintain the demand by your potential customers.

Let’s look at the promotion of a concert event to learn how it happens.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

A user first learns about the upcoming concert on Facebook. Facebook ads are shown for the purpose of PR long before the concert is due. When the date of the concert is near, a user remembers to buy a ticket. He or she searches via Google, clicks the paid search result and gets on the website for buying the ticket.

Judging by direct conversions, contextual advertising brings almost all the revenue. The assisted conversions, in a given case, help you understand the importance of Facebook ads.

AdWords helps to sell tickets on time, but users go searching for them thanks to the initial PR on Facebook.

How can you see the number of direct conversions and the number of assisted conversions in Facebook statistics as two separate parameters? By default, you can’t. Facebook counts together all conversions, that happens within the attribution window.

However, you must not put up with this until forever, or refine the data in the end.

We’d like to tell you about the approach that we use in practice for counting direct and assisted conversions separately on Facebook. It’ll also help you to separate the optimization of ad campaigns — for the direct and for the assisted conversions.

How to divide the tracking of direct and assisted conversions on Facebook

Conversion tracking on the website happens according to the Facebook Pixel events. Once an event is triggered, a conversion is scored.

Read more about working with Pixel Facebook: Your Knowledge Starter for Facebook Pixel Use

Let’s take a purchase event as an example.

You can set up a standard Pixel event “Purchase” to be activated each time a user makes a purchase. What can you do to count separate purchases, that happen on the website after a user clicks on a Facebook ad?

There are two solutions:

  • Create two events: for direct and for assisted conversions.
  • Create one event with separate parameters.

If you are not really good at working with the parameters, creating two custom events would be easier. Let’s agree that we will trigger a custom ‘purchase-direct’ event for direct conversions, and ‘purchase-assisted’ for assisted conversions.

Please note: When you create custom events for a Facebook Pixel, it suggests giving them a Category. In fact, this is the choice among standard events to help system identify the nature of your custom event based on the options it knows.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

When you create ‘purchase-direct’ and ‘purchase-assisted’ events, the common category for them is the Purchase category.

By using categories, you get to to work separately with the direct purchase event and the assisted purchase event, and gather their summarized statistics.

You can write down the rules you need for triggering the events as the technical task for the website developers. But you can also perform the setting up process by yourself thanks to Google Tag Manager.

We’ll show you how.

How to set up ‘purchase-direct’ and ‘purchase-assisted’ events via Google Tag Manager

In order to solve the given problem, we’ll need the tool that shows, where users come from.

As such tool, we’ll use the soucrebuster.js script.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

It has many different functions, but what we need is the identification of the traffic source.

On the GitHub page of the project, you can take a ready-made script and make the necessary changes to it. Next, you install this script on the website by using Google Tag Manager. Here is the modified version of the script from us.

Let’s move to Google Tag Manager

First, create a new tag.

The tag type that you need is Custom HTML.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

In the empty field of this new tag, insert the soucrebuster.js script. You can also give a corresponding name to it, like “sbjs”. By default, this script gets activated once the webpage opens, meaning, the standard PageView trigger fires.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

Publish or update the GTM container and reload the website. You’ll get new variables.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

Now, we can learn the source of the traffic from the console.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

These data on the traffic sources, including the medium and the key query, are stored in the “sbjs” JavaScript object.

To use these data in GTM, we need to create the special JS variables. First, we form the necessary JS variable in the console.

Paste this variable into the website console and press Enter, the console will return the source of the traffic.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

Copy this variable and get back with it to Google Tag Manager.

In GTM, create a new variable in the Variables section.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

You can use one of two options: create a Custom JavaScript or a JavaScript Variable.

The tip for the Custom JavaScript shows the format you need.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

In an empty field, you should write a function to return the source of traffic in the particular session.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

You can use the JavaScript Variable as an alternative. Simply insert a variable into the empty field.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

A visit from Facebook can be either paid or free. To know the source is not enough. It would be nice to see the type of traffic as well.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

The medium parameter indicates whether we received the user for free or within an ad campaign.

We need it too. Go to GTM and create another variable – sbjs.get.current.mdm.

Now, we have added two variables, that clearly show where and how users come from.

The second part is transferring these data to Facebook via Pixel using parameters or individual events.

Go to the Tags section and create a new custom HTML tag.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

In this tag, we specify under which condition an event or specific event parameter will be transmitted to the Facebook ad system.

On the screenshot above, you can see two variants:

  1. Two different events.
  2. One event with two additional parameters.

You can take ake the ready-made script for the purchase event here.

If you need to create another event or other parameters, you can write the code from scratch. The principle is as follows:

If the source variable (sbjs.get.current.src) equals the value ‘facebook’ and the traffic type variable (sbjs.get.current.mdm) equals to ‘cpc’, the ‘purchase-direct’ event will be triggered.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

This means, that the user came from Facebook ads and immediately made a purchase.

Else this does not happen, we call the assisted-purchase event.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

To create one event with different parameters, modify the code of the event and add the typeConversion parameter.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

The last thing we need to do is to create a trigger for activating the events.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

If you have a “Thank you’ page, you can create a trigger with the type ‘Page View – DOM Ready’ and configure it to trigger, when a user visits a page with the address containing ‘thankyou’ or another value you need.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

Congrats! You are done working with the codes.

Don’t forget to publish your changes.

How to use the data you get this way

The division of direct and assisted conversions in the Facebook ad system lets you do the following:

  • even the conversion statistics of different reporting systems,
  • determine the role of Facebook as a channel in your funnel,
  • compare your expectations for the channel with the real numbers,
  • reallocate ad budgets among the channels,
  • optimize your ad delivery for different results,
  • build the tactical communication with users.

When is the communication tactically correct?

The ad message should fit the stage in a funnel so that the touchpoint creates the maximum value. The introduction, demand maintenance, and the final call-to-action must follow consistently with the use of the corresponding channels.

Assisted conversions are easier to get while avoiding the pressure. Direct conversions require a stronger call-to-action.

Let’s put this into practice: If a user first learns about a brand or product on Facebook, don’t push the sales.

At the start of the customer journey, you can introduce the brand, show the product range, suggest visiting the website to learn more.

In the middle, you can incentivize the audience, awaken the interest, show the advantages of a product.

If the channel gets primarily direct conversions, you can push customers to the final purchase in the ads. Communication should base on direct offers with specific CTAs. You can also wrap them with emotional or rational cover, depending on your marketing strategy.

assisted conversion, attribution window, direct conversion, google tag manager, gtm, mcf, pixel event, web analytics

In addition to building the tactical communication, two different events for the direct and the assisted conversions will let you optimize the ad delivery to show the ads to the users, who are more likely to convert. Either they make instant purchases, or they have a longer decision-making cycle. This lets you adjust the shares of impulsive and rational sales.

If you’ll need to raise the share of direct conversions through Facebook ads, you’ll have an option to switch to optimization for the ‘purchase-direct’ event.

Last tips from the Median ads team

In performance-based advertising, the data is the key to understanding the interaction between the brand and the users. Detailed analytical data let you make profitable decisions in the course of ad campaigns: to turn off unprofitable channels, reallocate the budgets and increase the investments to scale your promotion.

With the detailed data in hands, you can get the maximum benefits from using social media as an advertising tool. When you know the full customer path before the finale, you can deliver truly relevant and timely ads with the higher performance indicators.

Don’t push fast sales without prior interaction. You’ll miss the opportunity to form the value of a brand for a user.

Measure the results based on detailed analytics, segment the traffic and build consistent communication. This will let you not only bring the users to your website, but also grow the loyal audience of your brand.

By supporting the channels that bring assisted conversions, you get more of the weighted purchases. Lead the users through all stages of getting familiar with your brand. Create a positive experience for them.

After that, the client will be less likely to change the brand. It’s way more important for the business to get a loyal customer than the one-time sales.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.