How To Track Calls As Goals In Google Analytics

March 22, 2018 | Jason Kay


Why Track Calls as Google Analytics Goals

To gain insight into the marketing that is converting best, it’s important to fully track the journey of a visitor from Ad to click to call to converted outcome.

How It Works

  • Visitor goes to your ad and clicks through to landing page
  • They hit a landing page with tracking template that includes data such as keyword & gclid and where they are presented with a dynamic tracking number
  • When they call the number
    • An event can be tracked that the call initiated
    • An event can be tracked that the call connected
    • An event can be tracked that the call converted (and optionally that did not)
  • In Google Analytics each event may be aligned to Goals
  • Completed Goals are configured to trigger conversions in Adwords

You now have insight into which Ads (and keywords) converted best.

Getting Set Up

Configure Retreaver

Create a campaign

Any campaign will work. Ensure conversion tracking is in place if you have call conversion criteria.

Add Parameter Mappers for Adwords’ Google Click ID and Keyword

You will need to add a gclid and keyword parameter mapper in Retreaver. Ensure your adwords also includes a parameter for glcid and keyword in your tracking template.

Typically the value-track parameters to add to your tracking template are: ?utm_source=adwords&glcid={gclid}&keyword={keyword}

To enable auto-tagging of parameters to urls in adwords see:  Tag Your AdWords Final URLs

Add Tracking URLs to the campaign to track Events back to Google Analytics

Set up Tracking URLs for call-based events you want to track in Google.  For example:

With Retreaver it’s possible to send multiple events for a single call to Google Analytics using Tracking URLs. For example:

Using the Tracking Url: Start: When a call Comes in

Using the Tracking Url: Answered: When a handler answers call

Using the Tracking Url: Conversion: If call converted

For each Tracking URL, assign parameters as follows (for all parameters available click here)

  • v = The Protocol version. The value should be ‘1’.
  • tid = The tracking ID / web property ID.
  • cid = Client ID. Anonymously identifies an instance. [call_uuid] token is an option here.
  • t = Type. Use ‘event’
  • ec = Event Category. We suggest using “Call” or “Calls”.
  • ea = Event Action. We suggest using an action aligned to the call status. I.e. Call+Started. Note the spaces must be escaped with a + or %20
  • el = Optional. Event Label. For use in Reporting
  • ev = Optional. Event Value.  Must be an integer (Google limitation). This will track the value of the conversion from call to Google Analytics.

Optionally include:

  • gclid = Google Click ID. Needs to be passed to your landing page via the adwords tracking template. This is needed to match the ad conversion back to the ad.
  • cs = Source. This should align to your [source_id] or [affiliate_id]

Ultimately, use any event category, action and label you like. For simplicity we’ve kept the category as “Call” and the action and label the same as eachother.

For Events relating to conversions. The Tracking URL needs to also &gclid=[gclid] added to the end. This will be used to map conversions in Google Analytics to Adwords.

Test Fire Each Tracking URL

Either place a call through the campaign that will trigger each event. Or use the “Test Fire” button in Retreaver to send a call to Google Analytics. This will help you check that the events are being registered correctly.

Configure Google Analytics

Confirm Events Are In Google Analytics

Navigate to Behaviour > Events > Top Events in your Google Analytics.  You should see the Event Category listed in the table. Add a Secondary Dimension for Event Action. This will show you the different types of events sent to Google Analytics from Retreaver.

Create Goals

Click on Admin then navigate to Goals under the View column:

Next you will be asked to set up your first goal, or if you need to, click “New Goal”.

1. Select the Custom option for Goal Setup. Then Continue.

2. Next. Give your goal a name and select Event as the Type. Then Continue.

3. Set the Category, Action and Label to match what you used in your Tracking URL, remembering to replace any escaped characters with their actual spaces or values. For example, “Call+Answered” in the Tracking URL becomes “Call Answered” in the goal details. Then click Save.

Your goals are now ready to go.  Complete a few test calls to confirm you see the conversion information come through in the Goal view (Conversions > Goals > Overview).

For additional information check out the following links from Google


Split Conversions

June 28, 2017 | Jason Kay


Retreaver Split Conversions allow performance marketers using Retreaver to track Revenues and Payouts at the Buyer and Publisher levels across all campaigns, and ‘split’ the conversions across services, products, geographies or any other data point you need to detail your conversion along.

This Retreaver Guidebook walks you through the steps to turn Split Conversions in your Retreaver account, and to configure the conversion information on each of your buyers and publishers for use across all your campaigns.

Retreaver Guidebook – Split Conversions


Split Conversions is written for performance and affiliate marketers looking for an easy way to track customer revenues globally at the buyer/advertiser level and payout costs at the publisher level.


You need a Retreaver account to work through this guidebook and start tracking calls from your marketing campaigns.
We also recommend you enable Retreaver Perform from within your account.

Get your free Retreaver account here

Table of Contents

Before You Begin

  • Terminology
  • Concepts
  • Gathering Relevant Information

PART I: Adding Split Conversions To Your Account

PART II: Configuring Split Conversions

  • Step 1: Add Conversion Criteria To Your Publishers
  • Step 2: Add Conversion Criteria For Buyers
  • Step 3: Update Default Campaign Conversion Criteria
  • Step 4: Test The Conversions With Calls

PART III: Viewing Conversion Reports

  • Collaborator Reporting of Conversions
  • Conversions & Tracking URLS

Retreaver Guidebook – Split Conversions

Related Guidebooks

Tag Types and Operators

February 12, 2016 | Angela Dougherty

Using the Tag Wizard

Use Retreaver’s simple Tag Wizard for easily managing the Tags on your Buyers, Numbers, Conversion Groups, and Tracking URLs.

Adding Tags

Click the Wizard icon next to any Tag input field to get started.

Step 1: Navigate to the relevant type, and select the Tag Key you want to use.

Step 2: Now we select the relevant operators for the type of tag you’re adding.

Step 3: Enter a value. We’ll compare the value on a call to this value using the operator you selected. If the call conforms to the resulting expression, we’ll call it a match.

Step 4: Click Add.

Step 5: Click Done.


Steps to creating a Tag.

Note: Your settings will not be active or saved until you save the underlying Buyer, Campaign, or Number.

You’ll notice two different colored dots on Tags. A blue dot means the Tag has just been added to the object. A red dot means the Tag has just been added to the object and has not been used in your Retreaver account before. Use these dots to keep track of what you’ve changed.

Tag Types


Different types of Tags.

This variety of Tag types should make it easy to track and route calls based on time and numerical values.

Now you can track and route calls based on your caller’s credit rating or date of birth.

Possible uses of date tags include:

  • Sale date for a mortgage.
  • Date of birth for insurance.
  • Graduation date for education.

Possible uses of numeric tags include:

  • Sale price for home mortgage.
  • Credit rating for loans.
  • Purchase price for auto.

Click here to learn to filter calls to Buyers based on Tags

Tag Operators

Use tags with operators to more selectively control which Buyers get routed to, which conversion group is used, or which tracking URLs are fired.

Available Operators


You can now use matching operators =~ and !~ on text tags to test for the presence or absence of a string or regular expression. Also available is the exclusion or not equal to operator, allowing you to block calls with certain attributes.

== [default]
Equals. The value on the call is exactly this value.

Not equal to. The value on the call is anything but this value.

Matches. Matches the given string or regular expression.
caller_state:=~california|new york

Doesn’t match. The value tagged on the call doesn’t match the given string or regular expression.

Numeric, Date, and Date-time

We now support a full range of operators on numeric, date, and date-time Tags.

You can create ranges by adding more than one Tag. A Buyer tagged with loan_amount:>100000 andloan_amount:<600000 will only receive calls where the caller is looking for a loan between $100,000.00 and $600,000.00.

== [default]
Equals. The value on the call is exactly this value.

Not equal to. The value on the call is anything but this value.

Less than. The value on the call is less than the given value.

Greater than. The value on the call is greater than the given value.

Less than or equal to. The value on the call is not greater than the given value.

Greater than or equal to. The value tagged on the call is not less than the given value.

sub_id:test and sub_id:==test in our system is the same thing. It’s a programming operator and not the same as query strings.

System Tags

All tags in the Retreaver system have been mapped to tag types. Calls are dynamically tagged with the value that would usually be used as a replacement token, as necessary.


No calls before a certain date

Tag your Buyer with call_start_time:>2014-07-17 to ensure they don’t get calls before July 17 2014.

Block calls from a certain Publisher

Tag a Buyer with publisher_id:!=1000 to block calls from Publisher 1000 from being routed to it.

No conversions after a certain date

Create a conversion group and tag it with call_end_time:<2014-09-01 to ensure a conversion isn’t triggered after August 31, 2014. Change the default conversion group to have a very high seconds value so it never converts.

Available Tags

Text Tags

The ID of the Retreaver campaign the call went through.
The Publisher ID of the party responsible for the call.
The first name of the party responsible for the call.
The last name of the party responsible for the call.
The company name of the party responsible for the call.
The ID of the Buyer the call was routed to.
The sub-id ID responsible for the call. (Example: Bing)
The phone number the caller used to call in.
The Retreaver UUID for the call.
The secret key used to postback conversion information about the call.
The phone number of the caller as it appeared on Caller ID.
The caller’s city based on their phone number, or their precise city if they entered a zip code.
The caller’s state based on their phone number, or their precise state if they entered a zip code.
The zip code the caller entered, if any.
The country of the caller, based on their phone number or zip code.
The number of the Buyer the call was routed to.
The URL of the MP3 recording for the call.
The status of the call when it ended.
Who hung up the phone first: caller or buyer.
Whether the call converted.true or false. Note: This will be a boolean tag in an upcoming release.
Whether the call was a duplicate of a previous call.true or false. Note: This will be a boolean tag in an upcoming release.
The name of the conversion criteria that was used for the call.

Date-time Tags

When the caller called the trackable phone number.
When the caller was forwarded to a Buyer.
When the call ended.

Numeric Tags

The Retreaver system Buyer ID of the party the call was routed to.
The number of seconds the caller was on the line with the Buyer.
The total duration of the call, from start to finish, in seconds.
The total number of minutes you were billed for the call.
The price per minute you were billed for the inbound call.
The price per minute you were billed for the outbound call.
The total cost you were charged for this call.
The conversion timer that was reached.
The amount earned on the call, according to the conversion settings.
The cost of the call, not including Retreaver charges, according to the conversion settings.

Receiving Postback Data from Third Party Systems

January 1, 2014 | Jason Kay

Often a call buyer does not pay based on call-duration, rather they pay their publisher when an actual sale has occurred. In these cases, the call buyer needs to post data back to Retreaver to inform us that a conversion has happened.

In order to post back data for the call, we need to pass the Buyer the call UUID and call key. This can be done either by using a “Bridged” tracking URL that pings the Buyer, or by using SIP.

Passing the Call UUID and Key Via a Bridged Ping


Adding a bridged tracking URL.

To add a bridged ping, edit your existing campaign, or include this at the bottom of the new Campaign creation screen. Under the Tracking URLs section, click on the green plus to add a new tracking URL and set the trigger type to ‘Bridged’. Use the Wizard to select your buyer, we advise against entering it manually. Ensure your Publisher and Buyer are selected. Add any desired [tokens] at the bottom.

To use a bridged ping, your Buyer must be capable of receiving information via an HTTP HEAD request, and you must add a bridged tracking URL to your Campaign. Tracking URLs that have the bridged trigger are fired when a call is connected to a Buyer. These callbacks are used to pass information to the Buyer.

You will need to work with your Buyer to determine the format of the URL itself, but they will need the call UUID and key to pass data back to Retreaver. They will most likely need the caller ID of the caller so they can correlate the call with the correct call UUID in their systems.

Passing the Call UUID and Key Via SIP

If your Buyer is using a SIP-based phone number, the call UUID and key will be automatically passed to them via SIP headers. They should look for headers named X-PH-RetreaverUUID and X-PH-RetreaverKey in the SIP INVITE, and store these values for later use.

Posting Data Back to Retreaver

In order to track conversions based on data posted back to us, you’ll need to have a postback conversion group defined for your Campaign. There are two ways you can implement conversion postbacks, either using a posted-back revenue, or using a conversion trigger with a pre-set revenue and payout.

Using a Posted back Revenue Value


Configuring a postback conversion.

Be sure to allow enough time in the Postback Timeout after the call ends for the Buyer to post back before this call is counted as a non-conversion.

The Buyer can use the UUID and call key to update the conversion value on the call by making a request to the following URL:[call_uuid]/set_value?key=[call_key]&revenue=10.00

Simply replace [call_uuid] and [call_key] with the corresponding values, and set the revenue parameter to the revenue that will be set on the call.

In cases where you are not paying a publisher, set the payout to zero by setting the modifier to *0.

In order to derive the payout from the revenue that is posted back, you can set a modifier in the “posted-value payout modifier” field. The string that you enter in the field will be evaluated operation-by-operation from left to right, and the operators can include * (multiplication), / (division), (subtraction), and + (addition). In order to multiply the value posted back by 0.8, enter *0.8 in the field. For a call with $10.00 in revenue, this would cause the payout to be set to $8.00.

If the modifier field is left blank, the payout will be set to the revenue amount, which is likely not what you want. In cases where you are not paying a publisher, set the payout to zero by setting the modifier to *0.

Using a Conversion Trigger with a Static Revenue and Payout

Perhaps you have a call buyer that has agreed to pay you a certain price, but they simply want to post back to you whether or not there has been a sale. In this case, you can configure a Postback conversion to use a “conversion trigger”, a string that we will look for in the postback request URL from your buyer.


Configuring a postback to be triggered by a specific matching string.

Given the above example, your buyer would need to make a request to the following URL to trigger a conversion:[call_uuid]/set_value?key=[call_key]&sale=true

Your buyer will need to replace the call UUID and call key with the correct values and send an HTTP request to the URL. We will then detect that a conversion has occurred and set the static revenue and payout on the call.

Configuring the Postback Timeout

When using Postback conversion settings, all tracking URLs are delayed until it has been decided whether or not the call has converted. By default, a timeout of 10 minutes after the call ends is set. If we don’t receive a postback from your Buyer, the call will be counted as non-converted and any non-conversion tracking URLs will be processed. If a conversion value is posted back after this happens, we’ll mark the call as converted and process any conversion tracking URLs.

In cases where data is posted back that doesn’t cause a conversion to be triggered, a non-conversion will still not be triggered until the postback timeout expires.

Using a Call Bridged Ping

| Angela Dougherty


Adding a bridged ping to a campaign.

In cases where you need to pass data into the Buyer’s call management systems, the best thing to do is add a bridged ping to your Campaign.

The bridged tracking URL type is only fired when a call is connected to your Buyer. Use this tracking URL type to pass any information that the Buyer requires.

Edit your Campaign and add a tracking URL with a “bridged” trigger as seen above. Tag the tracking URL so that it only gets fired when a call has been routed to a specific Buyer, and configure the URL to pass any information needed to the Buyer. Make sure to click Update Campaign at the bottom to save your settings.