Many Ringba users have relationships with a wide variety of publishers, buyers, agents, and affiliates who buy and sell calls. Especially if you're using real-time bidding, you may have the same business entity acting as both a publisher (selling calls) and a buyer (buying calls).
If an entity has a call to sell, you can safely assume that entity does not want to buy that call at a premium: if they wanted to answer the call themselves, they wouldn't be selling it! The situation can become especially dire if you and your partner repeatedly offer the call to each other. You can save everyone time, money, and never-ending loops by not pinging an entity about its own call.
Using Tag Routing Filters to Avoid Loops
Fortunately, Ringba offers tag routing filters. Tag routing filters let you create logic to define which calls you send to a target (or block from a target) based on the data in the call's tags. Information about the publisher is available in the Call - Publisher category of tags.
You can build the rules of your tag routing filter with any of the tags. The Name tag is the easiest to use because you can simply select the publisher's name from a drop-down list. The Id tag is the safest because its value cannot change without deleting the publisher.
You set up tag routing filters on your target or ring tree target. For every entity in your account that both sells and buys calls, you can add a tag routing filter to that entity's target or ring tree target to prevent routing it calls from the entity's publisher.
A call must satisfy the rules of the tag routing filter to be eligible to be routed to the target. In the screenshot, the only rule says the Call - Publisher - Name tag on the call does not equal the ABC Agency. So, any call with a Call - Publisher - Name other than ABC Agency (including no value at all) satisfies the rule and can be sent to the target.
Multiple Tag Routing Filter Rules
Tag routing filter rules can be difficult to envision, especially when you have multiple rules in the same filter. When the operator in these rules is negative, such as Does Not Begin With, Does Not Contain, or Does Not Equal, the results can be even less intuitive.
Example
In the following example, the user wants to set multiple tests to catch calls from the publisher. The user expects some calls not to have the publisher ID, so they create an additional rule to look for the publisher's name, plus one more to look for the publisher's name in a more general way.
A call came in with the following tags:
- Call - Publisher - Id = AF123
- Call - Publisher - Name = ABC Agency
The right way to set up the tag routing filter
Important: As a rule, when you use negative operators in your rules, you should connect the rules with AND.
The following tag routing filter contains three rules that all use negative operators and are connected with AND.
When you connect your operators with AND, a call must satisfy EVERY rule to be allowed to go to the target. This tag routing filter accomplishes the user's goal because as soon as the call fails ANY of the rules, the system blocks it. In this case, the Publisher - Name value equals ABC Agency, which violates the second rule, so the call is blocked.
The wrong way to set up the tag routing filter
The following tag routing filter has the same three rules, but they are connected with OR.
The call should have been blocked because the Publisher - Name value was a match, but unfortunately, this tag routing filter would not block the call. When you connect your rules with OR, you tell the tag routing filter to let through all calls that satisfy ANY of the rules. This call satisfied the first rule, so it was allowed through.
Getting Help from Ringba
Tag routing filters can be very difficult to understand. If you still have questions, you can contact Ringba support through chat or by email to support@ringba.com.