What is the borderline between the opengraph protocol and facebook's opengraph? - facebook-opengraph

I have read a little bit about OpenGraph and Facebook's OpenGraph API but I am unsure if I understood the concepts well enough to draw a border which separates them.
If I understood correctly, the opengrahp protocol basically provides some standard notations (set of properties and datatypes) to richly describe objects (including webpages).
At Facebook's Open Graph page, they basically add context to the feed/wall activities, by defining activities as: User + Action + Object.
Is Facebook's Open Graph just an "extension" (an additional namespace) on the top of open graph primitives but defining a vocabulary of actions and object? Or is it an implementation?
Is the concept of activity as User + Action + Object also part of facebook namespace?
I decided to put a bounty to this question, so I am expecting a very complete answer =D

I have some experience using Facebook's Open Graph. If you have a web site and someone shares/likes your site on Facebook, your open graph tags will be picked up and Facebook will use its title, description, image, etc. Facebook's Open Graph is for Applications. For instance, if you have an app that allows people to show recipes and tell you when they cook food, the 'Action' (verb) would be "Cook". The object would be the "Recipe" which you would change to whatever food they made using your app.
An example would be: "Thomas cooked chicken using App Name"
I believe Facebook's Open Graph is just an extension but you have to follow their markup for your information to be correct and show properly.
I'm not sure if I answered your question or not but I hope you figure it out.

Related

How to add a bespoke social sharing message to a specific page

I've used services like 'Add This' for a while but now I need to add a couple of specific bits of functionality to an ecommerce order completion page. It's to work like Amazon's order thank you page where it allows you to post a message to Facebook saying something like 'I just bought a widget on Amazon'.
Equally I'm looking for the equivalent in Twitter.
I've added a bunch of OG tags and share buttons but can't get it to do what I need. From further reading it sounds like I might need to create a Facebook app of some sort and use FB ui to create the link to post to the user's wall. I was hoping to do this without getting tangled up in that level of permissions etc but maybe that's not possible any more?
This is being developed on asp.net C#, in case there's a library that I haven't found in my searching.
Can anyone familiar with this type of development point me in the right direction?
For Twitter, the simplest way is to use Web Intents.
For example, if you want to share the text
I love http://example.com
URL encode the text to I%20love%20http%3A%2F%2Fexample.com and use the Twitter Web Intent URI. E.g.
https://twitter.com/intent/tweet?text=I%20love%20http%3A%2F%2Fexample.com
When the user clicks on that link (try it!) or is directed there by your service, they'll be prompted to share that text.

Google Analytics, internal link analytics?

I'll use StackOverflow as an example.
A user can reach a question/answer page from
outside of stackoverflow
from another page of stackoverflow
from a search result
from a link in other posts (link in another question or answer)
from Similar Questions section
from a user profile page
I'd like to know how those internal links are used.
Main question is What are the percentages of each type of links which led users to the Q/A page in stackoverflow
I want to know the answer for the Q/A pages as a whole not for each individual Q/A page.
Is this implementable using GA and if so, I'd like to hear a general guide so I can dig in.
Is there a term for this kind of analysis? (internal link analysis? Knowning a term helps me to google further..)
Edit
I found one way to do this using sitesearch.
http://cutroni.com/blog/2010/03/30/tracking-internal-campaigns-with-google-analytics/
It's from 2010, and not sure its still the best way to do it.
To be able to tell different links from the same page e.g. you will need to setup enhanced link attribution by requiring the plugin via this command
ga('require', 'linkid', 'linkid.js');
the plugin also requires decorating each link that reffers to the same destination (the question) a unique id. you can also chose to decorate a container element such as a div which holds link or its parent (up to 5 levels)
there are a number of ways to get at this data.
One way is a under reporting look at Behavior>Behavior Flow. The view crates a sunkey diagram. which you can narrow down using a custom segment + creating a content grouping. The advantage of the Behavior flow is that it is visual - but it is difficult to customize.
Another approach you could take is to locate the question in the Behavior > Site Content>All pages and the set the secondary dimension to "Previous Page Path". You can use the advanced filter to select a specific question, and to limit the previous pages to page paths matching the pattern for each type of page you discussed.
To view the attribution for different links you need to select the In-Page Analytics tab.
FYI, I've implemented it using Google tag manager.
I defined event navigateToQnA.
And fired the event with different event action for different type of clicks I care about.
Maybe bit laborious than the sitesearch method I linked in the question.
But cleaner in a sense that you don't pollute url parameters to collect the data.

Do I need to set the "Explicitly Shared" option?

For a Facebook, Open Graph action type, what's the meaning of the "Explicitly Shared" property? How does it effect the story?
If there's a button in my app that publishes a story, does the action need to be "Explicitly Shared" or not?
Any clarifications are welcome,
Thank you!
Using Open Graph actions and explicit sharing is more powerful.
Is no need waiting to see FB dialog or confirm your action.
Stories should only be shared explicitly when people indicate that they want to share their in-app experience in the same way that they would post to Facebook themselves. Explicitly shared stories will always be posted to the Timeline of the person who shares them, and might appear in their friends' News Feeds.
Explicit sharing can happen through a variety of actions, like posting a photo or adding a message to an action they've taken. The important thing is that people clearly understand they are posting this action and must opt in to publishing this action to Facebook.
Learn more

Can you customise a post on Facebook Timeline?

As far as I understand, an App can post into a User's Timeline.
My question is, how much can you customase/style this post?
I believe you can, at least, add a custom image and links. Can you also add HTML elements and CSS?
for example, nikeplus and RunKeeper seem to add some basic styling:
http://static.ak.fbcdn.net/rsrc.php/v1/yu/r/60YqMBkteVy.jpg
Short answer
No you can't.
Longer answer with more details
What you're looking for is called an Open Graph Action, it's not the usual Facebook status update. What you see in the screenshot linked by you, is an aggregation of all Open Graph Actions of a specific type.
You can not customize the layout of this aggregation. You can just select one of the 6 basic layouts and configure how the actions should be aggregated, sorted and/or filtered.
You can setup your own actions by going to the Facebook Developer Center, select one of your FB Apps, set a namespace in the basic settings (if not already done) and then got to "Open Graph". Once you've set up your own actions you can create your aggregations.
Here are a few links to get you started:
How-To: Defining an Aggregation
Open Graph Technical Guide
Open Graph Concepts

Spotify integration with Facebook OpenGraph

I'm trying to reproduce some cool things of the Spotify opengraph integration but there is one thing I understand how they do :
when you go on your spotify app profile (mine : https://www.facebook.com/antonio.mendespinto/music) you can see that the musician links points to the facebook page and not the spotify web pages (http://open.spotify.com/artist/7CajNmpbOovFoOoasH2HaY). How do they do that.
Also, is it this that lets Facebook to do behind the scenes the nice box in the artists page https://www.facebook.com/ogp/464730384564/ on the top showing friends interactions with the artist and spotify friend interactions.
Everything seems to point to the facebook pages instead of the spotify pages. How do they do that?
Yes, Spotify uses Facebook Open Graph Music, a predefined set of objects and properties for music.
https://developers.facebook.com/docs/opengraph/music/
Then I guess the Spotify account is marked in a way that makes this available. It is possible that this is what makes Facebook show the nice box in the artist page.
I work at Spotify, but I am not really sure about all the details of this. I know other music streaming services also use this, but I am not sure if it still requires a special account. It did in the beginning. Spotify was one of the first users of Open Graph.
The destination of the links inside Open Graph artifacts are left to the discretion of the developer. Say you're writing an app that lets people share restaurant tips. When you post a "Tip" object to OG, you naturally would include a link to the restaurant. As the app developer, you could choose the restaurant's web page, its Yelp page, its OpenTable page, your own representation of the restaurant page on your web site or any other web page on the internets. :-)
Being faced with a similar situation, I chose to use my own application's web page representing a restaurant. I experimented with using the restaurant's Facebook page (which I had to look up using the Graph API for search) as well as a third-party provider of restaurant information, e.g. Yelp. Using the Facebook page, my app felt more tightly integrated with Facebook, but I didn't get the luxury of having my own Facebook app metadata. Because I chose to link to my own restaurant page, I was able to set and retrieve whatever metadata I wanted, which really came in handy later when I started configuring aggregations.
I don't know how Spotify data surfaces on artist pages nor do I know how they managed to shoehorn song AND album objects into each listen post on OpenGraph, e.g.: "Chris listened to Torn and Frayed on Exile on Main Street." I could only ever get ONE object linked to an action, e.g. "Chris left a tip on California Pizza Kitchen." My assumption is that since they were one of the (if not the only) Facebook Open Graph launch partner, they probably had some inside help.

Resources