Streams and Filters in Keitaro

Today we will discuss streams and filters in Keitaro campaigns.

What do we need streams for?

Streams help to manage traffic. You can send definite visitors to definite websites, landing pages and offers, or prevent visitors from visiting some pages. Traffic can be split-tested with landing pages and offers based on some visitors attributives.

How streams work

In campaigns with “Without Rotation” settings, all streams are checked one by one. If clicks can’t get to a first stream because of filters, the click is sent to a next stream where filters are also checked. This happens until either the click is accepted to a stream, or it’s sent to a “Default” stream type. If the click is not accepted to any of the streams and there’s no “Default” stream in a campaign, a click is sent to a default action which is set up in a tracker Settings.

If “Split testing” is selected, first any of Forced streams is checked, then the next “Forced”. After Forced streams, “Regular” streams are randomly checked. “Default” stream is always the last one.

Also, when you use “Split testing”, there’s a “Bind visitors to streams” feature available.If this feature is enabled, te visitor will be redirected to the same stream as he had been visiting before.

How to create a stream

Create a campaign. Campaigns > Create.

Note, the campaign won’t work without streams.

Campaign settings window will be opened.

Click on «Create Stream».

Main Tab

Fill in the name of a stream in this tab.

  • Stream type:

Choose the stream type:

Regular is an ordinary stream which performs according to filters and settings inside.

Default is a stream which performs when none of the streams has been triggered. This stream gets all the remained traffic. We recommend always to create a default stream in order not to lose any traffic.

Forced is a stream which performs first. It will always work first disregarding its position in a campaign.

  • Position:

the position of a stream in a list for activating. A forced stream will always be the first one, the default will be the last one. Regular streams will be activated according to the number (position) they have.

  • Collect clicks:

If this feature is disabled, all clicks from this stream won’t be saved in a database.

  • Status:

Enable/disable a stream.

Schema Tab

  • Landing pages & Offers

This scheme works if you use «prelanding page > landing page» (or landing page – offers) scheme. You can add landing pages and offers there, put their weight (% of clicks these landing pages and offers will get).

  • Direct URL

The visitor will be sent to an URL with a selected redirect type:

  • Action

Allows to perform an action with the link:

Filters

Filters are terms complying with which a visitor can get into the stream.

If there is more than one filter they can be added with «AND» or «OR» conditions.

AND/OR

If you choose «AND», a user can get to this stream only in case all filters are met. E.g. there are filters Operational System: iOS, country: the Czech Republic, language: English, and all these filters are connected with «AND», only users with ALL these conditions complied can get to the stream. That means, if the visitor uses the iOS device, from Czech but with a Russian language browser, he won’t get into this stream. Language filter won’t allow this visitor to a stream.

If you choose «OR», a visitor will get to a stream if at least one of the filters is compiled, e.g. an iOS device, or a click from the Czech Republic, or English as a language:

IS/IS NOT

Filters also have «IS» and «IS NOT» attributes.

IS (allow) means that click should have this feature, e.g. if we set up iOS filter, that means only clicks from iOS devices will get to this stream.

IS NOT (except) means only a click without this feature will get to a stream, e.g. we set up iOS filter IS NOT, that means a click with any operational system EXCEPT iOS will get to a stream.

An example.

We have three filters. Language: English: IS; Country: Czech Republic: IS; Operational System: iOS: IS NOT. The condition between filters is «AND».

Visitor #1. Czech, Windows desktop, English as a browser language. Filters will allow this visitor to a stream, as their click complies with all the filters.

Visitor #2. Czech, iPhone with iOS, English as a browser language. The visitor won’t get to a stream because of Operational System filter.

Visitor #3. Czech, Windows desktop, browser language is unknown. Despite of the fact the click meets two of three filters, the visitor won’t get to a stream. There’s «AND» condition between filters, and the click lacks browser language to get to a stream. In case, there were «OR» between filters, a visitor would have get to the stream.

Filters Description

  1. Date between allows to set up dates and time zones when the stream will be enabled or disabled («IS» – the stream is enabled on these dates, «IS NOT» – the stream is disabled).
  2. Timetable allows to create a timetable of streams work on days of the week, time and time zones. («IS» – the stream works on this time, «IS NOT» – the stream doesn’t work).
  3. Limit clicks filter limits stream’s job with a certain clicks number. The number of clicks can be limited per hour, per last 24 hours, or total. When the limit of clicks is reached, the stream is switching off.
  4. Parameter filters clicks based on a received parameter. Masks, regular expressions and @empty meta-word for empty parameters are supported. Filter works as a strict coincidence. If you need partial coincidence use masks or regular expressions («IS» accepts clicks WITH parameters to the stream, “IS NOT” accepts clicks WITHOUT parameters).
  5. Referrer restricts clicks based on their referrer. Masks and regular expressions are supported. Filter works as a strict coincidence. If you need partial coincidence use masks or regular expressions. Example of a masks’s usage: *google.com* for http://google.com/search?q=123 referrer («IS» accepts clicks WITH referrers to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT referrers).
  6. Site filters clicks based on a site from referrer or from source, utm_source parameters. Masks and regular expressions are supported («IS» accepts clicks FROM mentioned sites to the stream, “IS NOT” accepts clicks NOT FROM mentioned sites).
  7. X-Requested-With restricts clicks based on their x-requested-with header. Regular expressions are available. Example: /value (a|b|c)/. («IS» accepts clicks WITH headers to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned headers).
  8. Keyword filters clicks based on their keywords. Masks, regular expressions and @empty meta-word for empty keywords are supported. Filter works as a strict coincidence. If you need partial coincidence use masks or regular expressions. («IS» accepts clicks WITH mentioned keywords to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned keywords).
  9. Search Engines filters clicks based on search engines. Masks and regular expressions are supported («IS» accepts clicks FROM mentioned search engines to the stream, “IS NOT” accepts clicks NOT FROM mentioned search engines).
  10. Ad Campaign ID filters campaigns based on their advertising campaigns IDs. Masks and regular expressions are supported («IS» accepts clicks FROM mentioned advertising campaigns to the stream, “IS NOT” accepts clicks NOT FROM mentioned advertising campaigns).
  11. Creative ID filter. Masks and regular expressions are supported («IS» accepts clicks FROM mentioned creative IDs to the stream, “IS NOT” accepts clicks NOT FROM mentioned creative IDs).
  12. Empty referrer filter. («IS» accepts clicks WITH empty referrer to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT empty referrers).
  13. Proxy detected filter. Proxy servers usually add their headers which allow to define the usage of proxy.  («IS» accepts clicks WITH proxy headers to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT proxy headers).
  14. City. Cities are written in English. You can either choose a city from a list, or enter  the city’s name manually. There are only cities with more than 500k people on the list. («IS» accepts clicks FROM mentioned cities to the stream, “IS NOT” accepts clicks NOT FROM mentioned cities).
  15. States/Regions. Selection from the listing is available. State/regional codes differ in every Geo database. So if you change a database, you need to set up regional filters once again. («IS» accepts clicks FROM mentioned regions to the stream, “IS NOT” accepts clicks NOT FROM, EXCEPT mentioned regions).
  16. Country. Selection from the listing is available. For a quick input make a list of countries’ codes with a space, e.g. «RU US KZ». («IS» accepts clicks FROM mentioned countries to the stream, “IS NOT” accepts clicks NOT FROM, EXCEPT mentioned countries).
  17. IP — ip-addresses filter. Masks, intervals and CIDR are supported, e.g. 22.33.1-44.*, 22.33.44.10-22.33.44.20, 22.33.1.0/24 («IS» accepts clicks WITH mentioned IPs to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned IPs).
  18. IPv6 — next generation ip-addresses filter. («IS» accepts clicks WITH IPv6 to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT IPv6).
  19. Mobile operator can be chosen only from the list of available operators. («IS» accepts clicks FROM mentioned operators to the stream, “IS NOT” accepts clicks NOT FROM, EXCEPT mentioned operators).
  20. ISP. Internet services provider. Works only with IP2Location database.  Работает при наличии базы IP2Location («IS» accepts clicks FROM mentioned providers to the stream, “IS NOT” accepts clicks NOT FROM, EXCEPT mentioned providers).
  21. Uniqueness checks visitor’s uniqueness. A visitor can be unique: a) for a stream – a visitor is unique in the current stream; b) for a campaign – a visitor is unique for a whole campaign; c) for all the campaigns in a tracker. A click becomes unique again after a period set in a campaign’s settings. The period is calculated since the very first visit («IS» accepts unique clicks, «IS NOT» accepts NOT unique clicks).
  22. Bot is a filter based on our database of bots. («IS» accepts bots to the stream, «IS NOT» accepts NOT bot to the stream).
  23. Connection Type filter is available if there’s a database integrated. Supported types – Dialup, cable/DSL, corporate and mobile network. If there’s no database, only Cellular and WiFi are available. («IS» accepts clicks WITH mentioned connection type to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned connection type).
  24. Browsers. You can either choose a browser from a list, or enter  the browser’s name manually. Masks and regular expressions are supported. («IS» accepts clicks FROM mentioned browsers to the stream, “IS NOT” accepts clicks NOT FROM mentioned browsers).
  25. Browser Version. You can add a browser version here. («IS» accepts clicks FROM mentioned browser versions to the stream, “IS NOT” accepts clicks NOT FROM mentioned browser versions).
  26. Device Model filter. You can either choose a device model from a list, or enter the device model manually. Masks and regular expressions are supported. Filter is not strict, which means you can enter «iPhone» for iPhone 5, 6, 6 Plus and others («IS» accepts clicks FROM mentioned devices to the stream, “IS NOT” accepts clicks NOT FROM mentioned devices).
  27. Device Type. Supported types – desktop computer, mobile phone, tablet, gaming console, TV, car browser, smart display, camera, portable media player, and unknown.  («IS» accepts clicks FROM mentioned devices to the stream, “IS NOT” accepts clicks NOT FROM mentioned devices).
  28. Operational System filter. You can either choose a device model from a list, or enter the device model manually. Masks and regular expressions are supported («IS» accepts clicks made WITH devices with mentioned OS to the stream, “IS NOT” accepts clicks made NOT WITH devices with mentioned OS).
  29. OS Version filter. («IS» accepts clicks made WITH devices with mentioned OS version to the stream, “IS NOT” accepts clicks made NOT WITH devices with mentioned OS version).
  30. UserAgent — Masks and regular expressions are supported. Filter works as a strict coincidence. If you need partial coincidence use masks or regular expressions. («IS» accepts clicks WITH mentioned user agents to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned user agents).
  31. Languages filter on browser languages. («IS» accepts clicks WITH mentioned languages to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned languages).
  32. Sub ID 1…15 are filters on received parameters sub_id_1..15. If there’s a Source in a campaign, the name of the source parameter will be added to a filter’s name. («IS» accepts clicks WITH mentioned sub_ids to the stream, “IS NOT” accepts clicks WITHOUT, EXCEPT mentioned sub_ids).

Monitoring Tab

Monitoring allows for running tasks. Tasks are run by cron, thus the minimal interval between tasks is one minute.

Notes

You can add and save any notes in this tab.

Saving Stream Settings

Click on «Apply» and save changes.

Additional Info

Keitaro YouTube Channel
Keitaro Knowledge Database