Purpose of this document
The purpose of this document is to describe how you can use Freespee to track and attribute inbound phone calls to a specific impression.
Introduction
To enable advanced tracking and attribution of inbound phone calls, each of your web visitors need to be served with a unique Call extension. The visitor's online journey can now be connected with the phone call he placed after arriving to your webpage. You simply add two lines of code on every webpage where you want Freespee to serve the visitor with a unique Call extension.
Freespee integrates with your existing demand-side platforms for display, search and mobile using Freespee Apps (plugins).
Impression based tracking using Freespee's JavaScript
The Freespee JavaScript (the script) is easily embedded on a web page, and you simply drop the code just before the closing body tag </body>.
When the page is loading, the script will parse the page DOM tree for Call extensions (using a Call extension detection algorithm) and a jsonp request to Freespee's servers requesting Freespee call extensions in real time. The request will typically include the current page URL, the referrer URL and parameters (such as cookie values). The system is highly configurable, and any parameters available in JavaScript can be captured, such as an impression id originating from a Real Time Bidding (RTB) network advertisement.
A rule set framework running on Freespee servers will look at the jsonp request data, extract information from it into a set of data (identifying information), and return a unique Call extension based on the identifying information.
The identifying information can contain information such as unique website impression id, an impression id from an RTB network ad or third party data such as Google Adwords GCLID identifier for a Paid search visitor.
The jsonp response will trigger the Freespee JavaScript to serve the visitor with the unique Call extension received in the jsonp response.
A typical plugin integration
Freespee uses sophisticated data mapping methods, to make sure your inbound phone calls from your webpage's visitors are associated with the proprietary identifiers from your different demand-side platforms for search, display and mobile. It enables you to activate the Freespee data feed into connected platforms with one click. There is no need for you to manually tag clicks in your demand-side platforms.
The standard Freespee Plugin collects identifiers in the referer URL header and/or the landing page URL. The identifiers are used for attribution, de-duplication and postback of data when a successful inbound phone call takes place. Some Apps may work differently by updating records in Freespees database by connecting to external post-call sources (such as CRM:s).
The referrer URL header or the click/destination URL usually contains information that uniquely identifies the user and other properties that should be collected and attributed to the inbound phone call (the identifying information), like a cookie id, click id, impression id and publisher id. The plugin picks up the identifying information to create a fingerprint that is associated with the Freespee Call extension that is served to the web page visitor. The script can also pick up first-party cookies from the web page.
How connected platforms use Freespee data and why it matters
Third-party platforms that are connected to Freespee (available as Freespee Apps) use Freespee data to feed their placement and bidding algorithms with better conversion data. The typical programmatic algorithm for optimising ad spend on conversions solves a mathematical optimisation problem. Many bidder algorithms are based on Linear Programming formulations that are quick to solve by computers.
Hence, any tool that is optimising your campaigns on CPA, ROAS or ERS, makes a better decision for every single conversion data point that is added to the data set that is feeding the algorithm. Freespee data bring conversions that are otherwise completely missed, and these often represent a significant portion of the total number of conversions that becomes available to the algorithm in the connected third-party platform.
A linear programming optimisation problem is formulated using statistics, such as the number of users who clicked on the ad, the number of conversions, the conversion value, cost of displaying an ad, etc.
It is essential for these algorithms to have good statistics in order to perform well. The risk of having incomplete statistics is that the algorithms will optimise on completely wrong metrics, resulting in negative effects on your targeting efforts.
Example of a Freespee App (DoubleClick Search)
The example will illustrate how it works when the Freespee App for Google DoubleClick Search version 3 (DS3) reports in inbound phone call conversions to DS3.
An online consumer has arrived at a destination web page, in this case, one of our own web pages www.freespee.com, from a Paid Search ad placed by DoubleClick Search (from the web server log file):
10.2.0.3 - - [14/Dec/2013:08:18:28 +0100] "GET /sign-up/basic/?utm_source=adwords-uk&utm_medium=ppc&utm_campaign=soft&gclid=CNSJ_9WXr7sCFYmN3godX14AMw&gclsrc=aw.ds HTTP/1.1" 200 4384 "http://www.google.com/uds/afs?q=true%20caller%20software&client=mobile-softonic&channel=mafs_en_searchresults%2Bmafs_en_searchresultsukcanaus&hl=en&adtest=off&oe=utf8&ie=utf8&r=s&adpage=1&adstyle=hm&fexp=21404&format=n2&ad=n0&nocache=761387005872914&num=0&output=uds_ads_only&v=3&allwcallad=1&adext=as1%2Csr1%2Cctc1&rurl=http%3A%2F%2Fm.en.softonic.com%2Fs%2Ftrue-caller-software%3Asymbian&referer=https%3A%2F%2Fwww.google.com.ng%2Fsearch%3Fq%3Dsafaricom%2Btruecaller%2Bfree%2Bdownload%26client%3Dms-google-mmkt%26channel%3Dmf-bb-cht-all-611-21%26rlz%3D1MIGHBB_enKE459%26oq%3Dsafaricom%2Btruecaller%2Bfree%2Bdownload%26gs_l%3Dmobile-heirloom-serp.12...12694.19294.0.23218.10.10.0.0.0.0.0.0..0.0....0...1c.1.24.mobile-heirloom-serp..10.0.0.IVR9_XxaG04" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9780; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.285 Mobile Safari/534.1+"
The Freespee JavaScript on www.freespee.com picks up information from the landing page URL and referrer. By looking at, in this case, a part of the query string (highlighted in bold), the Freespee platform can attribute the website visitor to DoubleClick search (the gclsrc parameter) and the website visitor gets a unique identifier created by DS3 in the URL (the gclid parameter).
The gclid parameter is Google's impression identifier (impression id) that was generated when the original ad was displayed to the visitor. The impression id is passed to the destination page through a query string URL parameter. Other ad serving systems typically pass the impression id to the landing page in the same way.
Freespee's JavaScript will, on page load, identify any Call extensions on the webpage and ask the Freespee backend for Freespee Call extensions to serve the visitor. These Call extensions will transparently pass on the call to the phone numbers being displayed on the web page prior to embedding the Freespee script. As the DoubleClick App is activated in the Freespee platform, the Freespee Call extension will be unique and associated with the Doubleclick fingerprint created by Freespee.
If the website visitor then makes a phone call, the Freespee platform will report this to the DoubleClick Search Conversion API through an HTTP POST request to https://www.googleapis.com/doubleclicksearch/v2/conversion with the following example JSON payload:
{"kind":"doubleclicksearch#conversionList","conversion":[{"clickId":"CNSJ_9WXr7sCFYmN3godX14AMw","conversionTimestamp":"1387023532","conversionId":"3263","segmentationType":"FLOODLIGHT","segmentationName":"Qualified calls","type":"ACTION","quantityMillis":"100"}]}
In the example, the JSON payload will contain the gclid which is unique to a website visitor. The time of the phone call conversion (as a UNIX timestamp) and information what segmentation tag the conversion should be tied to in the DoubleClick system (in the example "Qualified calls" dependent on the rules set up in the Freespee platform).
Depending on the capabilities of the platform Freespee is connected with, Freespee will send appropriate data. It could be a rule-based goal value, order value, if the call was missed or not or information about the complete user journey of the visitors. That includes this last session and also earlier visitor session from the same visitor, using Freespee cookies.
Basic flow chart
Note: “identifier” in the above example is usually an impression id, click id, user id or a combination of different id’s which enables the DSP to link the online impressions and clicks with the offline call.