Tracking visitors coming from Facebook

佐手、 提交于 2019-12-13 08:59:55

问题


I have written a PHP based blog for the company i work for. Not using any frameworks. I am having trouble tracking users who come from my facebook page's posts to my blog (not wordpress).

I have created a shortlink url. Let's say it is sample.co and it redirects traffic to sample.com. Everything seems fine until here. The problem starts here.

I am adding all user's ip's, user agents. But if even i get 500 visits, my code adds somethig like 3.000 visits. Facebook stats and Analytics shows similar stats (~500 visits). I see that ip's added to MySQL are all different. It usually happens with Android users. I have read somewhere that Facebook sometimes renders to their users the actual URL when FB shows the post. I mean instead of the widget, Facebook shows the whole page. I am not quite sure about that to be honest.

To solve this problem, I have created and added an jquery script to my page and listened users' scroll event. It worked great. Not seeing too much traffic. But this time the problem is i am counting less users. Even I get 500 users from facebook and Analytics shows similar results, my script adds only 200-300 to MySQL.

Does anyone know a better way to track real traffic? Or do you aware of such problem?

Thanks


回答1:


  1. It should be filtered on the basis of user agent.

    https://developers.facebook.com/docs/sharing/webmasters/crawler

    how to detect search engine bots with php?

  2. Identifying users through IP is a good idea, but if your IP keeps changing, it's a good idea to use cookies.

    http://php.net/manual/en/function.uniqid.php

    If the cookie does not exist, you should see it as a new user.




回答2:


I have found the answer. The problem is called preview (prefetch). Here is the link:

https://www.facebook.com/business/help/1514372351922333

Simply, facebook preloads everything when FB shows the thumbnail to the visitor to speed up your page's load speed. They send X-Purpose: preview header. So you can simply check if HTTP_X_PURPOSE header's value is preview or not. If so, do not count it as a visitor.!

Here are more detailed descriptions:

http://inchoo.net/dev-talk/mitigating-facebook-x-fb-http-engine-liger/

http://inchoo.net/dev-talk/magento-website-hammering-facebook-liger/



来源:https://stackoverflow.com/questions/42049513/tracking-visitors-coming-from-facebook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!