rails: what is the best way to track unique clicks? - ruby-on-rails

I'm currently developing an affiliate tool with rails which is generating some unique affiliate links. I used to create those links via bitly and simply fetched the link-clicks through the bitly API. Awesome but if you delete your cookies, boom - click again and it counts again. So kind of useless.
I tried to familiarize with the google analytics api to count unique clicks but believe this is just overhead. Storing the IP address is also not the way I like to work.
Now I'm thinking to keep it simple and store the user's mac address in a database table when he clicks a link. The "stat model" is related to the link model and so I would find out which link was clicked by which mac address. If mac address exists already in the table for the link, don't count it.
Is this a proper way to solve my problem?
I read several articles where also mac addresses can be faked so I fear this can be hijaked in some way.
If you have any awesome ways to work with unique link tracking in rails, I would be curious to work with them.
Thanks for any help and tips.

Related

Passing specific delivery instructions through to ChowNow from online ordering link

I'm helping develop an online ordering process for a local business, and they are offering food delivery to their location from specific partnered restaurants. The problem we're looking to solve is making the experience as smooth as possible for the user, so we're aiming to fill out these specific data fields to make the process smoother. They have QR codes on their tables, that link directly to their websites ordering page, from there the user can select from a few local restaurants, and are linked to their online ChowNow menus.
Does anyone have any experience using ChowNow, and knows if there is any way to pass off specific delivery instructions to ChowNow, specifically an address, from the link provided to the users from the QR code on their table?
We haven't found anything too helpful on this problem from ChowNow's official documentation or support. There are alternate ways that we have in mind to solve this problem if need be, but this is the desired solution from the client, and we would like to have stick with this method if possible.

How to add "Order Online" link on GMB using the API

[NOTE: This may be not the right place for this question. Can you please refer me to the right place if this is not.]
I know you can login to GMB, verify the business and than add the "Order Online" link from the GMB console.
We are an agency and expanding fast so we are trying to find out a way of adding our link to all our customer's GMB pages without needing to getting verified for each of them separately but rather using the API if possible.
Anyone here has experience doing this? I looked through the API, but can not find anything like this.
It is not possible to influence this attribute. See this article
In some cases, links to certain third-party booking services will appear automatically on business listings. These links cannot be edited in Google My Business.
If you want to remove or fix a link in your own listing, please contact the third-party provider’s support team or a technical contact to request they remove your data from the information they are sending Google.

Google+ Authorship: #REL, GET Parameters and Redirects

I recently decided to start to take advantage of rich snippets to improve my personal website's content for the search engines and, IMHO most importantly, the site readers – hi, Mam! ;-). One of these are Google Authorship. Personally, I think the idea behind Google Authorship is a sound one: it helps to brings a sense of identity, personality and – arguably, most importantly – credibility to what is still largely an anonymous web.
Normally, I would link my article to Google Authorship using the following line of HTML:
<A REL="author" HREF="https://plus.google.com/112431363835029530079?rel=author">Jordan Clark</A>
However, in the instance of a website that publishes articles that are written by multiple authors, manually entering each another’s Google+ UID string starts to become a tiresome process.
Is is valid to do the following:
(a) Link to the author like so, using the script "author.php" (or other type of server-side script).
<A REL="author" HREF="/author.php?by=Alice&rel=author/[UID]?rel=author">Alice</A>
(b) The file "author.php" scripts simply do a quick check for Alice's (or whoever) User ID string provided by Google, and then uses a simple HTTP redirect header to pass this data to Google.
What I would like to know is:
Is it okay to use a local script to redirect to your Google+ user profile? (i.e. will it affect the PageRank of already indexed page or have any other unforeseen negative effects on new and indexed pages?)
Why do I not see more people linking with Google’s “prettified” version:
http://profiles.google.com/clarky.y2k?rel=author
Are there any drawbacks to using the “prettified” version of this method?
Ideally, I would like to use the intermediate PHP script, as I have already described above (see part 1). However, any tips, suggestions or other ways you may have implemented on your websites are very welcome!
For item (1), you can maintain your own app's profiles (author.php in your case) for your authors. On your own app's profile page (author.php), you would add a link from that page to Google and specify the rel="me" attribute on that link. So Alice's profile page might say something like "Find Alice on Google+.
This indirect authorship linking is supported. You also will need the link from Alice's Google+ profile that lists her as a contributor to your site. Once the linking is setup in both directions, authorship can start to show up. Authorship won't always display in all cases and can take some time for it to start appearing as Google would need to reindex your pages.
For item (2), I don't think the profiles URL will enable authorship. Some people use that URL as a vanity URL, but as far as I know it isn't supported for use with things like authorship, badges, etc.
You should test if your redirects are followed using the Rich Snippets Testing Tool: http://www.google.com/webmasters/tools/richsnippets
rel="author" is no longer supported.

Tweeting as different user using REST API

I'm currently writing a shop-related site that has it's own community in different social networks. While posting to VKontakte and Facebook is less of an issue (I can understand the concept of "group", and VK actually has an option to write posts using the group's name), Twitter is more troublesome.
Two questions:
Is there even such a thing as "groups" in Twitter? The closest I have seen is lists and timelines, but neither appears to solve my issue.
I cannot give the operator access to the twitter account. VK has a specific option when posting in a group to use that group's name as poster name. How does this work in Twitter?
I need something akin to what lamoda has set up. (It appears to be a user, and every post is labeled as written by that user, however I doubt they give their ops access to the actual twitter account).
P.S.: I'm already done with getting past OAuth and using REST to actually post, thus no code provided. I'm just having trouble with the statuses/update.json call, if that's what I should actually be using.
Talk about simple solutions to simple problems.
It appears I have been overcomplicating. There are no groups in twitter, or even comments at that. You can only post to your own feed or re-post from somebody else's.
Posting to someone's feed (a shop account's, say) is simple enough using that account's pre-generated access token which can be stored in the configs.

How do search engines see dynamic profiles?

Recently search engines have been able to page dynamic content on social networking sites. I would like to understand how this is done. Are there static pages created by a site like Facebook that update semi frequently. Does Google attempt to store every possible user name?
As I understand it, a page like www.facebook.com/username, is not an actual file stored on disk but is shorthand for a query like: select username from users and display the information on the page. How does Google know about every user, this gets even more complicated when things like tweets are involved.
EDIT: I guess I didn't really ask what I wanted to know about. Do I need to be as big as twitter or facebook in order for google to make special ways to crawl my site? Will google automatically find my users profiles if I allow anyone to view them? If not what do I have to do to make that work?
In the case of tweets in particular, Google isn't 'crawling' for them in the traditional sense; they've integrated with Twitter to provide the search results in real-time.
In the more general case of your question, dynamic content is not new to Facebook or Twitter, though it may seem to be. Google crawls a URL; the URL provides HTML data; Google indexes it. Whether it's a dynamic query that's rendering the page, or whether it's a cache of static HTML, makes little difference to the indexing process in theory. In practice, there's a lot more to it (see Michael B's comment below.)
And see Vartec's succinct post on how Google might find all those public Facebook profiles without actually logging in and poking around FB.
OK, that was vastly oversimplified, but let's see what else people have to say..
As far as I know Google isn't able to read and store the actual contents of profiles, because the Google bot doesn't have a Facebook account, and it would be a huge privacy breach.
The bot works by hitting facebook.com and then following every link it can find. Whatever content it sees on the page it hits, it stores. So even if it follows a dynamic url like www.facebook.com/username, it will just remember whatever it saw when it went there. Hopefully in that particular case, it isn't all the private data of said user.
Additionally, facebook can and does provide special instructions that search bots can follow, so that google results don't include a bunch of login pages.
profiles can be linked from outside;
site may provide sitemap

Resources