How to Use Tag Types and Operators

Retreaver uses tags to represent call data attributes, using tags ensures that the caller reaches the most applicable person suited to handle the call.

Utilizing tags offers the ability to set extremely specific requirements for:

  • Which Call Handler (Buyer) is able to accept a call, and under what condition.
  • When to trigger call conversions, including customized payouts for various collaborators.
  • When to trigger webhooks, including which attributes to send out.
  • When to trigger third party integrations, including which attributes to send out.


This guide will cover the process of creating tags, and utilizing them to drive certain actions within the Retreaver call tracking platform.


 

Retreaver Tag System Overview

 

Context Based Tag Behaviour Explained

Context Based Tag Behaviour Explained

The behavior of tags will vary depending on where they are utilized:

  • When tags are applied to endpoints, they act as filters to determine how calls will be routed.
  • When tags are applied to numbers, they will preemptively tag any leads calling that number.
  • When tags are applied to a conversion criteria or webhook, Retreaver will be instructed to only trigger those events if matching tags are found within that call similarly to a filter.
Assigning Tags to a Retreaver Component

Assigning Tags to a Retreaver Component

  1. When working with a tag field, typically named "Matches" or "Tag List" - You may click on the Wizard icon next to any tag input field to open the tag wizard helper. These input fields can be found in Call Endpoints (Buyers), Numbers, Conversion Groups, and Webhooks.

    TagWizard.png
  2. Once you open the Tag Wizard, you'll first need to choose which data type this tag is going to be.
  3. You can select the Tag Key you want to use, which is used to define the name of the data attribute you wish to represent. If you would like to use a custom Tag, you will first need to Create a Tag.
  4. Now select the relevant Operator and Value for the type of tag you're adding. Retreaver will evaluate the tag value present on a call using the operator you selected. If the call conforms to the resulting expression, we'll consider it a match and trigger the actions associated with that component.

    TagWizardMenu.png
  5. Lastly click Add to complete adding a Tag using the Wizard, you can choose to add more tags or continue with the individual page you're on.

Warning

The Tags you added will not be active until you save the underlying Call Endpoint (Buyer), Campaign, or Number. You'll notice two different colored dot icons on Tags when working in the editor. A red dot means the Tag has just been added to the object but has not been used in your Retreaver account before. A blue dot means the Tag has just been added to the object and applied previously. You may use these dots to keep track of what you've changed.

Viewing your Call Tags

Viewing your Call Tags

Reporting in Retreaver includes all call tags that have been associated with a call, these tags are visible in your call log, call overview & call reports to help you monitor and analyze your phone calls.

Tags_In_Call_Log.pngTags are visible in your Call Log under the "Tags" column. Hovering over the tags will display their values.


Tags_in_Call_Overview.pngTags are also visible on the call overview page. Click on a specific UUID in your call log to view the call overview page.

You can also view your tags in a call report by including tags as a column when exporting your report.

Retreaver provides commonly used tags out of the box but also give you the freedom of creating your own tags allowing for flexible control and customization over your call tracking efforts.

Enabling IVR prompts for unresolved tags

Enabling IVR prompts for unresolved tags

You may enable prompts on tags to trigger an IVR or audio file and prompt callers for any unresolved tags. Only unresolved tags that are currently utilized on a campaign or call-buyer will trigger the prompt.

Example: If a caller previously filled out the tag value in a form submission, the tag prompt will be skipped, otherwise prompt the caller for additional information before attempting to route the call.

View our "How to Tag and Filter calls using Prompts guide" to learn more.

Substituting Tag Values using Replacement Tokens

Substituting Tag Values using Replacement Tokens

Tags can be used to substitute values for outbound webhooks and even IVR message prompts by employing a concept of "replacement tokens".

Substitute a tag value by placing the tag key and surrounding it with square brackets, this will instruct Retreaver to automatically substitute the tag key with the associated tag value if it is present on that action.

Note* If the tag value is empty at the time when performing an action, no value be will be inserted. This could cause critical webhook errors down the line, avoid any issues by ensuring that your calls contain all the necessary data when utilizing them inside of webhooks. 



Substituting values inside of a webhook:

Say you wish to substitute tag values into a CRM webhook to create a customer profile, you could do so by filling out the field name, followed by the replacement token value as so:

www.CRM.com/create_lead/?phone_number=[caller_number]&publisher=[affiliate_id]



Substituting values inside of an IVR message:

Say you wish to utilize the first name you previously tagged to a call inside an IVR greeting message, you could do so by modifying the prompt text to include:

"Hello [first_name], we will connect you to an agent shortly". 

View our "How To Use Tag Values To Create Dynamic Prompts" guide for a demonstration on using replacement tokens inside IVR prompt messages.

List of available Tag Data Types

List of available Tag Data Types

Below are the different Tag types available when creating a new Tag.

4uwv7.png

The variety of types should make it easy to track and route calls based on any type of tag you require. You can track and route calls based on data such as your caller's credit rating under a numeric type or first name under a text type for example. Each tag data type will offer different operators that you may utilize to control actions within Retreaver.


Possible uses of date tags include:

  • Sale date for a mortgage.
  • Date of birth for insurance.
  • Graduation date for education.
  • End or open date for a time-based offer.

Possible uses of numeric tags include:

  • Sale price for a home mortgage.
  • The credit rating for loans.
  • The purchase price for auto.

Possible uses of the text tags include:

  • State of employment.
  • Over the age of 18.
  • Name of a caller fetched from a CRM.
  • Lead status of the caller.
  • Session cookie or ID.
Using Tag Operators

Using Tag Operators

Using tags with operators, you can more selectively control which Buyers get routed to, which conversion group is used, or which Webhooks are fired.



Text Tag Operators

You can 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.

== 
Exactly equals. The value on the call is exactly this value. This is the default operator.
mortgage_type:==purchase

!=
Not equal to. The value on the call is anything that is not this value. mortgage_type:!=refinance

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

!~
Does not match. The value tagged on the call does not match the given string or regular expression.
keyword:!~free


Numeric, Date, and Date-time Tag Operators

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. For example, a Buyer tagged with loan_amount:>100000 and loan_amount:<600000 will only receive calls where the caller is looking for a loan between $100,000.00 and $600,000.00.

Note regarding numeric, date and date-time tag operations and comparisons:
Such tags must be created inside of the Retreaver platform. This will register tag values as their respective data types, otherwise tags will be treated as strings/text by default. Not creating/registering tags could cause unexpected behaviors during the comparison process. 

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

!=
Is not equal to. The value on the call is anything but this value. callback_at:!=2014-12-25

<
Less than. The value on the call is less than the given value.
loan_amount:<1000000

>
Greater than. The value on the call is greater than the given value.
loan_amount:>0

<=
Less than or equal to. The value on the call is not greater than the given value. loan_amount:<=1000000

>=
Greater than or equal to. The value tagged on the call is not less than the given value. loan_amount:>=100000

Note: sub_id=test and sub_id:test both represent an "equal to" operator regardless of tag data type.

Checking for the Presence or Absence of a Tag Value

Checking for the Presence or Absence of a Tag Value

Certain call networks might require the presence of certain tags to ensure TCPA consent is present, or they might require the absence of a tag to ensure a lead is valid through the absence of a fraud_score attribute.

In either scenario, you can achieve the desired filter results by applying the following regular expressions to your tag values:



You can test for the presence of a tag using the ".+" regular expression. IE "leadid:~.+"presence.png
Use the "matches" operator when filtering for text tag presence inside of the tag wizard.

You can test for the absence of a tag using the ".+" regular expression. IE "fraud_caller_score:!~.+"absence.png
Use the "does not match" operator when filtering for text tag absence inside of the tag wizard.

Matching buyers using multiple tag values

Matching buyers using multiple tag values

Created tags that are associated on a buyer level act as a filter for that agent. You can add duplicate keys with different values but at least one value must match with the key in order to route to that buyer.

You generally also want to have a fallback Buyer that takes any value for a given key. If a buyer accepts all values for a tag key, simply leave it untagged.

A Buyer could accept several different values for an offer and exclude certain other ones: Product_Interest:Insurance, Product_Interest:Healthcare, Product_Interest!=Phoneplan will route calls to that buyer if they are interested in Insurance or Healthcare but NOT Phoneplans

You could create a buyer that only accepts calls from a specific publisher or callers from specific states looking for a specific service. Any criteria you can think of can be used to direct traffic within Retreaver using tags.

 

List of System Tags available in Retreaver

Retreaver supplies various default tags for use in your routing, integrations, and reporting below:


 

Text Tags

Tag Description
campaign_id The ID of the Retreaver campaign the call was routed through. Not the same as the system_campaign_id, which is the unique identifier for the campaign within Retreaver.
campaign_name The name of your call tracking campaign.
source_id,
publisher_id,
affiliate_id

The ID of the source of the call. These three tags are interchangeable, and will appear differently depending on the edition of Retreaver you use:

Marketer: source_id
Performance: publisher_id
API: affiliate_id

affiliate_first_name, publisher_first_name The primary name of the call source or first name of the publisher.
affiliate_last_name The secondary name of the call source or last name of the publisher.
affiliate_company The name of the company associated with the call source.
handler_id,
buyer_id,
target_id

The ID of the Call Endpoint (Buyer) that the call was routed to. These three tags are interchangeable, and will appear differently depending on the edition of Retreaver you use:

Marketer: handler_id
Performance: buyer_id
API: target_id

target_name

The name of the call endpoint / buyer that the call was routed to.

system_target_group_id

The ID of the Call Endpoint (Buyer) group that the call was routed to.

sub_id The sub-affiliate ID responsible for the call. Typically used with the Performance edition of Retreaver.
called_number The phone number the caller used to call in.
target_number,
call_forwarded_to
The phone number of the Call Endpoint (Buyer) that the call was routed to.
call_uuid The unique identifier generated by Retreaver for the call.
retreaver_url The link to a particular call, will appear as "https://retreaver.com/calls/#{uuid}".
call_key The secret key used to postback conversion data to the call. Used in combination with a call_uuid to enable postback functionality for a Call Endpoint (Buyer).
caller_number The phone number of the caller as it appeared on caller ID.
caller_number_digits The phone number of the caller, without the leading "+" prefix on a caller ID.
nanp_caller_number The phone number of the caller, without the leading "+1" for North American numbers.
caller_city The caller's city based on their phone number. The precise city if caller entered a zip code or it was passed via API/ Retreaver.js.
caller_state The caller's state or province based on their phone number. The precise state if caller entered a zip code or it was passed via API/ Retreaver.js.
caller_zip The zip code the caller entered, if any.
caller_country The country of the caller, based on their phone number or zip code.
call_recording_url The URL of the MP3 recording for the call.
call_status The status of the call when it ended.
click_to_call A boolean value to indicate if the call was generated using the click-to-call functionality.
keys_pressed Returns a list of digits a caller pressed during the call, used to infer which prompts or routing decisions were chosen by the caller.
fired_pixels_count Returns the number of webhooks that were sent out specific to this call.
hung_up_by Who hung up the phone first, the caller, or the Call Endpoint (Buyer).
converted A boolean value indicating if the call was converted.
duplicate Whether the call was a duplicate call that was routed to a Call Endpoint (Buyer) in the same Conversion Group it has previously converted in.
repeat Whether the call was a repeat caller that recently returned to your campaign using the same tracking number.
conversion_name

The name of the conversion criteria that was used for the call.

google_analytics_client_id The Client ID used to identify a unique lead session. Anonymously identifies a page view instance. Used to trigger Google Analytic Events.
google analytics_tracking_id The tracking ID / web property ID in "UA-XXXX-Y" format of a google lead engagement. Used to trigger Google Analytic Events.
visitor_url The visitor URL pointing to the landing page that presented a Retreaver tracking number. Used to confirm any existing URL parameters and web source for dynamic numbers.


Date-time Tags

Tag Description
call_start_time When the caller called the trackable phone number.
call_forwarded_time When the caller was forwarded to a Buyer.
call_finish_time When the call ended.
call_start_time_day_of_week_et Returns a numerical representation of the weekday when the call occurred.

IE: 1 = Monday, 7 = Sunday.

Note*: Timezone specifiers come in _utc_at_ct_mt_pt, _et variants.


Numeric Tags

Tag Description
system_buyer_id The Retreaver system Buyer ID of the endpoint the call was routed to.
call_forwarded_duration, 
call_connected_duration
The number of seconds the caller was on the line with the Buyer.
call_duration The total duration of the call, from start to finish, in seconds.
call_ivr_duration The total IVR duration of the call, including all prompts.
call_hold_duration The total hold duration of the call, including any on hold music or messages played while waiting.
billable_minutes The total number of minutes you were billed for the call.
charge_per_minute_in The price per minute you were billed for the inbound call.
charge_per_minute_out The price per minute you were billed for the outbound call.
charge_total The total cost you were charged for this call.
conversion_seconds The conversion timer that was reached.
revenue The amount earned on the call, based on the conversion setting.
receivable A boolean to indicate if a revenue value is present for a call.
receivable_converted_duration The duration used to qualify a call for a revenue value.
receivable_duplicate A booelan to indicate if the call resulted in a duplicate conversion.
payout The cost of the call, not including Retreaver charges, based on the conversion setting.
payable A boolean to indicate if a payout value is present for a call.
payable_converted_duration The duration used to qualify a call for a payout value.
payable_duplicate A booelan to indicate if the call resulted in a duplicate conversion.
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.