Ad Annihilator Home Testimonial
Download Register Help Support Awards
Making the web more pleasant
Contact: contact@adannihilator.com Support: support@adannihilator.com
Ad Annihilator received Top Rating and review from Download.com. Click here to read review

Understanding banner filters

Banner filters are the primary mechanism by which banner advertisements are blocked by Ad Annihilator. All decisions that Ad Annihilator makes on whether to accept and show a banner are controlled by banner filters. Both techniques for blocking of banners (see What can I do to block advertisements?) affect banner filters, but the first technique manipulates banner filters implicitly in an easy-to-use manner while the other implies direct manipulation of filters by the user. This section is intended for advanced users who want to understand how banner filters work in Ad Annihilator. In most cases, understanding of banner filters is not necessary and users may use simple technique for banner blocking.

Banner filters are viewed and edited in Banner filters tab. To explain banner filters we'll use easy natural language notation in which banners are understood and interpreted as instructions to Ad Annihilator in simplified English language.

When Ad Annihilator decides whether to show banner or not, it evaluates filters in evaluation order and see if the banner is accepted or not as a result of evaluation. If it is accepted, the banner is shown, otherwise it is not.

General understanding of banner filters

For example, let's consider following filters setup in Banner filters tab:

Note that there are two types of filters: enabling (accept) and disabling (reject). To translate this filters to our natural language notation we'll replace each filter with "if" condition and each subfilter (that appears under the parent filter and to the right of it) -  with exception to the parent condition. This gives us the following instruction to Ad Annihilator:

If a banner is from ads.com, block it.
If a banner is from banner.com, block it.
If a banner is from nytimes.com, block it, except banners from nytimes.com/images (that are accepted).
If a banner is from geocities.com, accept it, except banners from geocities.com/ads (that are rejected).
If a banner is from yahoo.com, block it, except banners from yahoo.com/images (that are accepted), and among them except banners from yahoo.com/images/ads or yahoo.com/images/banners (that are rejected).
Otherwise, accept banner.

This textual description corresponds to the banner filters shown above and functionally is equivalent to them. Note that you can convert this textual description back to filter tree in Banner filters tab.

By default resources are not blocked, that's why we always have "Otherwise, accept banner" statement at the bottom of the instruction list. If a banner does not fall under any other statement, it is accepted.

The filters and corresponding textual description are evaluated in the order shown in the tab if filters are sorted by priority (see Banner filters tab). When examining evaluation of filters in this tab, make sure they are sorted by priority.

If a banner falls under certain condition, other conditions below are not evaluated. Rather, only conditions and instructions after "then" are considered until we arrive to final decision on whether to accept or reject the banner.

Number of nested levels of "if" and hence filters is not limited. This allows construction of very complex filters if need be using just this simple ubiquitous notation.

General guidelines for banner filters setup

For beginners to setup and understand filters, we recommend preparation of the filter instructions in natural language similar to the description above and then translating it into the filter tree similar to the tree shown on the picture above.

Use following rules when translating textual description to filters:

  • Each top-level "if" statement should be translated to top-level filter, either enabling if you have "block" phrase after "then" or disabling if you have "accept" phrase.
  • Each subcondition is translated as a subfilter attached to the filter corresponding to its parent condition, either enabling if you have "block" phrase after "then" or disabling if you have "accept" phrase.
  • Order of instructions in textual description corresponds to order in Banner filters tab if the filter list is sorted by priority.

For specific instructions on how to manipulate filters refer to Banner filters tab.

Advanced filter properties

When we spoke earlier of filter conditions, we used simplified condition based on banner source (see Ads on the web), i.e. only banner address appeared in the condition. But banner conditions could be more complex to fit various banner filtering needs. Look, for example, at Banner filter item properties window shown below:

So filter condition can be composed of following:

  • Banner address mask (*banner.com). See Understanding masks for information on masks and their syntax;
  • "Apply mask to" instruction on how to interpret banner address mask. Following choices are available:
    • Host - apply banner address mask to host part of the banner address;
    • Path and Host - apply banner address mask to host and path parts of the banner address;
    • Full address - apply banner address mask to full banner address;
    See Understanding Internet addresses for more information on resource address parts. For examples see notes below;
  • "Apply to subdomains" option prescribing to apply the entered banner address mask not only to the site but only to its subdomains. This option is available only if host mask is used ;
  • Mask of the resource content type to which to apply the filter;
  • Minimum and maximum resource size limits. This allows you to filter resources by their size. This may be useful if you want to block too large or too small resources. If a limit is not entered, it means no limit is imposed.

To understand how banner address masks are applied when filters are evaluated, see the following table:

Banner address mask "Apply mask to" setting Apply to sub-domains Samples of matching banner addresses Samples of mismatching banner addresses

*banner.com

Host

Off banner.com
rotabanner.com
ads.com/ banner.com,
ads.banner.com

*banner.com

Host

On banner.com
ads.banner.com
ads.com/ banner.com
yahoo.com/ads* Path and Host N/A yahoo.com/ads/ pic.gif,
yahoo.com/ads2/ pic.gif
ads.com/ yahoo.com/ ads.gif,
yahoo.com/ad.gif
 
ads.com/ img/ad*.gif Full address N/A ads.com/ img/ad2.gif ads.com/img/ banner.gif

To get natural language condition for the filter one should take all elementary conditions and combine them with "AND" conjunction. For the filter shown on the picture above we get the following instruction:
 

If a banner address host part matches *banner.com OR one of its subdomains (*.*banner.com) AND content type matches image/* AND banner size is between 300 and 50000 bytes, block it.

Using these conditions user may setup quite complex filtering instructions. Remember that you may skip any subcondition by replacing the masks with all-matching * mask and leaving empty resource size limits. So it is possible to create filters that trigger only on size or content type only.

Site filters

All filters discussed above are applied to resources regardless of the particular web site a user browses. In the first example, for instance, banners from ads.com are blocked regardless of whether user browses adannihilator.com, yahoo.com or nytimes.com site.

We will refer to that site as main site or host. For example, if user opened nytimes.com, the main site is nytimes.com.

Usually, there is no need to differentiate between main sites - advertisements are advertisements, and if a user doesn't want to see advertisements from banner.com when she browses adannihilator.com, she won't usually want to see the same ads on yahoo.com.

However, there are situations in which it is necessary to block banners minding the site user is currently browsing. For example, when user browses an advertiser site itself, she wants to see all the pictures from that site, but when she browses another site, the banners from advertiser site need to be blocked. Ad Annihilator solves this problem by means of host filters.

Host banner filters in all aspects are the same as common banner filters. The only exception between them is host filters are applied only when browsing a specific site while common filters are applied regardless of the main site.

To understand host banner filters consider following example:

The nodes in the filter tree with this icon correspond to host filter node. These nodes may appear only on the top level of the filter tree. See Banner filters tab for instructions on how to manipulate host filter nodes.

Accordingly, this filter tree should be read as follows:

If a banner is from ads.com, block it.
If browsing banner.com then if a banner is from banner.com, accept it, otherwise accept it, too.
If a banner is from banner.com, block it.
Otherwise, accept banner.

When evaluating these filters, the result will depend on which site a user is browsing. If user browses banner.com all pictures from banner.com are shown. But if a user browses another site, pictures from banner.com are blocked.

Note that order of filters is very important here. If we placed the last filter on the second place and host filter on the third place, the common banner.com filter would be evaluated first and override the host filter so that it has no even a slightest chance to affect the banner acceptance decisions!

If "if" condition for a site filter is true other conditions below are not evaluated. Rather, only conditions and instructions after "then" are considered until we arrive to final decision on whether to accept or reject the banner. If all such subconditions appear false, the banner is accepted.

When adding host filters you may setup another parameter: "Apply to subdomains" that is similar to the same parameter for common filters and was discussed earlier. See Host filter item properties for more information on entering of host filters.

Third-party resources blocking

The last thing to mention about banner filters is "Block third-party resources" option. This option allows blocking of resources coming from the sites other than the user is currently browsing.

For information on what third-party resources are see Ads on the web. For information on third party resources blocking implications  see What can I do to block advertisements?.

The "Block third-party resources" option could be set both on global level for all sites and on per-site basis. For more information on setting this option see Banner stopper tab and Host properties window respectively.

This option is evaluated after all other filters are evaluated. In other words, if we interpret filters in textual notation this option gets to the next to the last place before "Otherwise, accept banner" statement.

For the global "Block third-party resources" option the last two lines in textual description will look like the following:

If the global "Block third-party resources" option is on and the banner is a third-party resource, reject it.
Otherwise, accept banner.

According to this should be changed all the descriptions we provided as samples earlier.

For the per-site "Block third-party resources" option such condition should be placed in the "if" statement for the site at the next to last place before "Otherwise" statement. If we mind the "Block third-party resources" option, the site filter example above should be interpreted as follows:

If a banner is from ads.com, block it.
If browsing banner.com then if a banner is from banner.com, accept it, otherwise if the banner.com's "Block third-party resources" option is on and the banner is a third-party resource, reject it. Otherwise, accept it.
If a banner is from banner.com, block it.
If the global "Block third-party resources" option is on and the banner is a third-party resource, reject it.
Otherwise, accept banner.

Home  Download  Register  Help  Support  Contact us  FAQ  Awards  Privacy policy
Copyright © Ad Annihilator Software 2003-2008. All rights reserved. Site design by Lithesoft