Designing Your Data

The key to maximizing the effectiveness of Facebook Analytics is by sending aggregated and anonymized data so that you can learn about the behaviors of your users. By starting with accurate data, you can develop a solid understanding of you users. This topic shows you a systematic approach to designing and implementing accurate data to send to Facebook Analytics.

Steps

Sending accurate data starts with a plan that includes the goals of your website or mobile app. Here is a list of steps to systematically design your data to meet your goals.

  1. Define Success - what does success means in your app or web page?
  2. Define the Route to Success - what are the steps that a user has to take in order to achieve success in your app.
  3. Define the Data to Measure the Route To Success - how to quantify each step of the route.
  4. Implement the Data - implement the data in your app or web page.

Define Success

In this step you will determine what success is for your website or mobile app. You want to define the goals of your website or mobile app. For example, the goal of the an e-commerce business that uses a website or mobile app to sell product is to ship a product that a customer selects.

If you have several goals, go through the steps for each goal. When you have the steps for all of the goals, you can then combine common steps to make implementation more efficient.

Define the Route to Success

In this step you will determine the steps your user will take to get to the goal of your website or mobile app. You need to define two routes:

  • Successful route - these are the steps the user takes to get to the goal.
  • Unsuccessful route - these are the steps the user can take that is not the successful route.

Successful Route

Here is an example of a successful route for an e-commerce website or mobile app:

  1. Open the web page or install and start the mobile app.
  2. Search for an item.
  3. Add an item from the search results to a wish list.
  4. Move an item from a wish list to a shopping cart.
  5. Start the checkout process.
  6. Complete the registration.
  7. Purchase the item.
  8. Review shipping information when the item has shipped.

Unsuccessful Route

The unsuccessful route is where the user does not go to the next step. You can use Facebook Analytics to determine the last step the user completed and what step was completed. Any uncompleted step before Purchase the item is considered an unsuccessful step.

Route Details

As you design the route, think about what details you want to capture about the route that your users take. Consider additional data that you want to learn about the behavior of your users. This exercise leads to the way you categorize and manage your data.

For example, you can determine how a user gets to an item from the search feature. You can capture the search terms entered, the results of the search term, the item selected, and then the items added to the cart.

Think about how you would capture the journey of the user through your website or mobile app. How would you capture each step in the journey?

Define the Data to Measure the Route to Success

In this step, you will create the data that you will send to Facebook Analytics that describes each step of a successful route. You can send two types of data:

  • Events and Parameters
  • User Properties

Events and Parameters

Events and parameters describe the action a user completes along with the data in the action. An event is the action that the user completes and the parameters for the event contain the data associated with that event.

Events are broken down into three categories:

  • Standard events - events and parameters that are defined in the Facebook SDK and are generated by your app.
  • Custom events - events and parameters that you define and are generated by your app.
  • System-generated events - events and parameters that are inferred by Facebook based on user interactions with your app and automatically logged. Currently, this list includes:
    • App Install - This event is logged when the user installs your app.
    • App Launch - This event is logged when the user starts your app.
    • Journey - This event is logged when a user of your app accesses it from a different platform. The app administrator must enable journeys in the Facebook Analytics dashboard to generate these events.

When planning out your events and parameters, see if a standard event will work for your application. The following are the standard events

Event NameDescription

Achieved Level

Log this event when the user has achieved the level in the app.


Required Parameter

  • Level

Ad Click

Log this event when the user clicks on an advertisement.


Required Parameter

  • Advertisement type

Ad Impression

Log this event when an advertisement appears to the user.


Required Parameter

  • Advertisement type

Add Payment Info

Log this event when the user has enters payment information as part of the checkout process.


Required Parameter

  • Success

Add To Cart

Log this event after the user adds an item to their cart.


Required Parameters

  • Content
  • Content ID
  • Content Type
  • Price of added item

Add To Wishlist

Log this event after the user add an item to their wish list.


Required Parameters

  • Content
  • Content ID
  • Content Type
  • Price of added item

Complete Registration

Log this event after the user completes registration in the app or website.


Required Parameter

  • RegistrationMethod

Complete Tutorial

Log this event after the user completes a tutorial in the app or website.


Required Parameter

  • None

Contact

Log this event after the user submits their contact information.


Required Parameter

  • None

Customize Product

Log this event after the user modifies a product selection using your tool to modify a product.


Required Parameter

  • None

Donate

Log this event after the user donates funds to your organization or cause.


Required Parameter

  • None

Find Location

Log this event after the user finds one of your locations with an intention to visit. For example, when the user selects a button that displays the closest store with the product in stock.


Required Parameter

  • None

Initiate Checkout

Log this event after the user starts the checkout process.


Required Parameters

  • Content
  • Content ID
  • Content Type
  • Currency
  • Number of items
  • Payment information available
  • Total price of items in cart

Purchase

Log this event after the user uses your own purchase method to complete a purchase. If you use Facebook to manage your in-app purchases, the purchase events are automatically logged.


Required Parameters

  • Content Type
  • Content ID
  • Content
  • Currency
  • Number of Items
  • Purchase price

Rate

Log this event after the user gives a rating.


Required Parameter

  • Rating given by the user.

Schedule

Log this event after the user makes an appointment to visit your location.


Required Parameter

  • None

Search

Log this event after the user performs a search within the app.


Required Parameters

  • Content type
  • Search string
  • Success

Spent Credits

Log this event after the user has spends their app credits.


Required Parameters

  • Content
  • Content ID
  • Content Type
  • Total value of credits spent

Start Trial

Log this event after the user chooses to start a free trial of your product or service.


Required Parameters

  • Currency
  • Order ID
  • Price of Subscription

Submit Application

Log this event after the user submits an application for a product, service, or program.


Required Parameter

  • None

Subscribed

Log this event after the user subscribes to a product or service.


Required Parameters

  • Currency
  • Order ID
  • Price of Subscription

Unlocked Achievement

Log this event after the user unlocks an achievement in the app.


Required Parameter

  • None

Viewed Content

Log this event after the user views a form of content in the app.


Required Parameters

  • Content Type
  • Content ID
  • Content
  • Currency

If none of the standard events will work for you, then you can use a custom event. Each custom event you create can have up to 25 parameters that you can also define. You can create up to 1,000 custom events.

Although you can create up to 1,000 custom events, you should create the minimum number of custom events to make data management easier. One way to create the minimum number of custom events is differentiate events by using parameters instead of create an event for each action.

For example, if your website or mobile app has several menu items, use a single event to log the action of choosing a menu item and then use a parameter to describe the menu item.

The parameter is the data that quantifies the event. The parameter is a collection of key value pairs. Each key in the parameter must have a unique name. You can use the parameter names in the SDK or create a unique name. The value of the key value pair must be a string or a number. Whenever possible, define the appropriate value for each key value pair and ensure that the value that you will assign in the key value pair is the appropriate value. For example, assign strings to a key value pair expecting a string and assign a number to a key value pair that is expecting a number. Checking the data before assignment is especially critical if your app is written in a weakly typed language, such as JavaScript.

The example e-commerce website and mobile app has several steps to a successful route. The following is an example of how to use events to describe each step.

StepEvent NameEvent Type

Open the web page or install and start the mobile app.

App Install

Automatically logged

Search for an item.

Search

Custom

Add an item from the search results to a wish list.

Add to wish list

Standard

Move an item from a wish list to a shopping cart.

Add to cart

Standard

Start the checkout process.

Initiate Checkout

Standard

Complete the registration.

Complete registration

Standard

Purchase the item.

Purchase

Standard

Review shipping information when the item has shipped.

Review shipping

Custom

Do not send personal identifiable information (PII) or any data that has a 1:1 relationship with a user in a parameter.

User Properties

You can create segments based on what you know about your users by using user properties. A user property is a value that you assign to a user who meets a specific criteria. For example, you can create a user property to track a user to a loyalty program. The values in the property can be Gold, Silver, or Bronze, depending on how much the user has bought using your app.

You can have up to 100 user properties.

Do not store personal identifiable information (PII) in a user property.

Managing Your Data

After you create your events and parameters and user properties, create a data dictionary that documents this data. The data dictionary can help you and your organize keep track of your data so that your organization sends the right data to Facebook Analytics.

For example, the Purchased standard event has the following parameters: * purchasedAmount * currency * parameters

You use this standard event to log each item in the shopping cart that was purchased.

The data dictionary would have the following entry:

ParameterDescriptionData typeSource

purchasedAmount

Price of the item

Double

The price of the item when added to the shopping cart.

currency

The currency of the price of the item.

String

Database table

parameters

The item name, description, color, and size.

Key-value pair as strings

Shopping cart

Implement the Data

In this step, you will implement the events and parameters and the user properties you defined in the previous step in your website or mobile app.

To implement an event and the parameters, use the code configurator to generate the code to add to the appropriate section of your code.

To Generate Code for a Standard Event

  1. Choose the Standard Event tab.
  2. In Event Name, choose a standard event.
  3. Choose Get Code.
  4. In the window, select a language to see the code to copy and paste into your app.

To Generate Code for a Custom Event

  1. Choose the Custom Event tab.
  2. In Event Name, enter the name of you custom event.
  3. In Use Value to Sum?, choose On if you will have this value.
  4. For each parameter in your custom event, choose Add Event Parameter, enter the name of the parameter, and then choose a data type.
  5. Choose Get Code.
  6. In the window, select a language to see the code to copy and paste into your app.

To implement a user property, see User Properties