Part 3: Understanding Call Attribution at the Listing Level

Knowing how to manage assignment and removal of phone numbers is key to optimizing your number strategy. This is the fourth article in a five part series.

Learn How To Build It

Part 3: Understanding Call Attribution at the Listing Level

In the previous article, we explored how sellers can attribute calls by displaying a call tracking phone number in an online directory instead of their direct business line. This level of attribution is straightforward to implement. But what if a seller needs to attribute calls down to the individual listing? This is where listing-level attribution comes in.

Listing Level Call Attribution

Let's take a look at how CarsCarsCars can use listing level attribution to provide dealers with more detailed insight. They start by letting sellers assign distinct phone numbers to the listings they want to track. This is just an extension of the number management strategy they already have in place for seller-level attribution. As they start rolling this feature out to more customers, a few issues become apparent:

  1. CarsCarsCars has thousands of live listings at any point in time. At this rate, they will end up needing thousands of phone numbers. This can get very expensive very quickly.
  2. Some listings tend to get more views and generate more calls than others. Phone numbers will get allocated to listings that won’t generate calls as frequently. This creates a lot of idle numbers.

CarsCarsCars quickly realizes that in order to optimize the quantity of phone numbers they use, they need to answer two related questions: - How many numbers do we need? and How should we allocate the numbers?

How many numbers do we need?

CarsCarsCars wants to optimize phone number usage by moving away from assigning a distinct phone number to each listing. Call tracking numbers should only get assigned to listings that users have engaged with, either by viewing or by calling the phone number on the listing. If a listing stops seeing user engagement, its number should be removed and reassigned appropriately. Knowing how to manage assignment and removal of phone numbers is the key to optimizing phone number usage.

*The Twilio REST API allows you to change call routing on phone numbers on the fly. When a number is reassigned to a new listing, it can easily be set up to forward calls to the appropriate dealer. See how. *

Phone numbers that have received a call should be treated differently than phone numbers that have just been viewed. Since calling is the clearest indication of user intent, it’s important to provide a flawless experience to these users. They are likely to go back to the listing (if they haven’t saved the phone number already) and call the seller again. When a phone number on a listing receives a call, CarsCarsCars decides to lock that number to the listing.

How should we allocate phone numbers?

How long should this number stay locked to that listing? While there’s no hard and fast way to determine this, a good rule of thumb is to use how long it takes to complete the sale. CarsCarsCars knows that it takes them on average 30 days to sell a car. They decide to lock a phone number to a listing for a maximum of 30 days after its most recent phone call. If the car is sold before that, the number will get reassigned. Phone numbers on listings that have been viewed but not called can be reassigned much quicker.

Like any website, traffic to CarsCarsCars listings is highly spiky. Listing views tend to peak during lunchtime or after dinner when most people search for cars. Based on historical data, CarsCarsCars also knows that visitors spend 10 minutes on average on their listings during each visit. Using this information, CarsCarsCars decides to utilize phone numbers more efficiently according to their traffic profile, while maintaining a margin of error. They decide that after a listing is viewed for the first time, a phone number stays allocated to it for one hour, after which it is freed up to be allocated to another listing.

CarsCarsCars essentially divides their call tracking numbers into two pools:

Pool 1: Phone numbers that have been displayed but not called.

Pool 2: Phone numbers that have been called.

Like most online directories, CarsCarsCars has historical data on the number of unique listings viewed every day. This helps them decide how many phone numbers are required in Pool 1. They don’t have to directly estimate how many phone numbers are required for Pool 2, since numbers move there once called, and stay there for 30 days or until the car is sold. So to make sure they have adequate call tracking numbers, CarsCarsCars designs their number management system to maintain a sufficient quantity of numbers in Pool 1, as numbers naturally move to Pool 2.

Using the Twilio REST API. You can search, buy, and configure phone numbers using a few API calls. See how.

Here are the steps they follow: Number Pooling for Listing-Level Attribution

Using the Twilio REST API, you can search, buy, and configure phone numbers using a few API calls. See how.


Two key factors drive the number allocation process and determine the quantity of phone numbers required for listing-level attribution:

  • Hourly unique listings viewed to determine quantity in Pool 1.
  • A 30-day allocation window for phone numbers that have been called.

By managing these factors, CarsCarsCars is able to build an effective call tracking number management system that optimizes phone number usage.

In the next article, we will explore building visitor-level attribution.