I want to have a website script to capture information about the web-visitors IP-address and a few variables, and a web service to receive the same information, then lookup the organization behind the IP-address using the <[url removed, login to view]> with one of its open programming examples like <[url removed, login to view]> in order to save the info to a database and provide a web-site script that can also show the contents of this database based on hits per day and to allow the user to download these as a csv-file.
Fuller requirements, I need:
* the IP-address of the web-site visitor;
* the URL of the visited site;
* the content of utm_source if available
* the content of utm_campaign if available
* the content of utm_medium if available
The script itself should not slow down the loading of the site, and if the server-address should for some reason be non-reachable, the script should not generate any error. The script will go to a non-https-web service but should be able to be put on both http and https web-sites without generating an error (possible?).
B) On the server side, a web service (PHP-page?) needs to be written that will reside in my [url removed, login to view] shared hosting account that receives the info and saves it to a MySQL database together with a timestamp.
(This web service may get many near-simultaneous hits from above script after a while. It may not need to handle 100s of hits per second in the provided solution, but an estimate on which is the highest amount of hits it can take, and a proposal of what to do then will need to be included (the recipe for it, not necessarily the full remedy if it's too much to not fit into the scope of this project).
C) It will also need to do a reverse-lookup of the IP-address of the Organization and will also save the amount of information that you get from using [url removed, login to view] with one of its provided APIs (from [url removed, login to view] e.g.).
Since this likely should not be done in real-time for performance reasons, but perhaps at night, then you need to set a cron-job that will go through the HITS, preferably such that a wget can be used to retrieve the new visitor table (so it can be using the dreamhost possibility to e-mail that info to the web-site-owner).
D) When you have all the organization-names, you will need to save the info with the name of the website (so only the owner of that can then be shown the info), then the organization as a new row, then the city, then the country, then the total number of hits from this organization in the day, then the last timestamp of the hits, then a field with all visited URLs, then utm_campaign, then utm_medium, then utm_source (if these three exist) and (important:) lastly the FIRST URL that got a hit with a utm_source that contained an e-mailaddress at all OR the first page that the user entered (without coming in with an e-mailaddress in utm_source).
E) Provide a web-site script in the attached file-format (in the zip) so that a user could see his own visitors over a range in time that he should be able to choose (default the last 7 days) and ONLY only by his own web-site name (he will have to login to this page, so if needed I can push the info on which is his web-site name (first field of the row) to the page where this script will be shown, so he can't enter someone elses web-site name and thereby see someone else's visitors). The web-site visitors visiting should then be listed on a page with the name of the organization first, and an extra column right after.
The user should be able to: a) tick one box that hides all visitors with organization-names that are well known ISPs according to the [url removed, login to view] b) tick a box that hides all visitors with utm_source that equals any of the known free e-mail accounts which is found at: [url removed, login to view] Separate the lists of web-site-visitors per web-sitename such that not one web-siteowner could see the web-sitevisitors of another website. The user should be able to download all visitors info in his chosen period of time in a csv-file by the click of a button.
* * *This broadcast message was sent to all bidders on Saturday Sep 5, 2009 4:59:12 AM:
I updated with one zip-file of the actual page that the enduser will see his info on, to make it more clearer. It's from a smarty-template since I will show this in my WHMCS-backend service only for registered clients. I hope this should only be of help to you, but before I can accept your bid, I need to know that you are OK with me adding this to the requirements list.