Checking where are users coming from to the landing pages We have a site that contains few "landing pages" of different campaings. Links to those landing pages are sent by newsletter. Now if user visit one of the landig pages I would like to programatically recognize if he is coming from outer source (from newsletter link) or is just browsing the site. Is it possible to recognize if the page is opened from email? 

One of the solution could be to append a GET parameter to the newsletter links, but I'm afraid it will be not a good idea to force our customer to do it everytime. The other solution could be to check REFERER, but I'm not sure how reliable is this. If I could to decide that user is coming from outer source it could be enough.

What could be a suitable solution for this task?
If you are able/willing to add some type of query parameters, you should be able to make this work using the Rules module, as detailed below.
Assume a path like /index.php?campaign=123) you can make the value (= 123) of the URL argument (= campaign) available as a new variable to the Rules module. To do so, you can use the Rules URL Argument module. Here is a quote about it (from its project page):

... provides two rules conditions based on URL arguments:

check if a URL argument is present.
compare the value of an URL argument.

It also provides an action that makes the value of an URL argument available as new variable to Rules.

The newly provided Rules actions and conditions can be found under the &quot;URL Argument&quot; conditions and actions groups in the rule configuration interface.
For an example of how to use it, refer to Comment # 3 in issue # 1686360 which is about &quot;Pass an amount to the url, ie; site/content/node-title?amount=10 or /node-title?=amount:10&quot;. Here is the relevant part of it:


add a &quot;Check if URL argument exist&quot; condition to your rule and set the &quot;ARGUMENT&quot; value to &quot;amount&quot;.
add &quot;Provide URL argument value&quot; action to the rule and set &quot;URL ARGUMENT NAME&quot; value to &quot;amount&quot; and in the &quot;Provided variables&quot; section &quot;ARGUMENT FROM URL - Variable name&quot; to e.g. &quot;amount_from_url&quot;.

You will now be able to use the amount value as a variable &quot;amount-from-url&quot; for other actions in this rule.