Web Applications Stack Exchange is a question and answer site for power users of web applications. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Facebook seems to know when people post good news like about a new baby, graduation, or a new job. If you Like or comment on the status, it shows "Surprise {so-and-so} with a gift".

In one case I saw today, the only text for the status was "Well, it's done!" with a picture of his cap & gown, but Facebook still knew it was good news and showed the gift suggestion.

So how does Facebook know when a post is good news?

As a follow-up, I noticed several of the comments said "Congrats" or "I'm proud of you" or just "yay!" Is the "good news" detector based on comments, or more than that? Would it be pretty easy to spoof good news and get a false positive for the gift suggestions?

share|improve this question
That'll be part of Facebook's "Secret Sauce". Nobody outside Facebook is going to know, and they're not going to tell us. Further, Stack Exchange prefers questions about actual problems you're facing; this seems like idle curiosity. – Al E. Jul 24 '13 at 12:34
I realize that, but it could be that I want to avoid and/or show the give suggestion box on my posts. – Matt Jul 24 '13 at 15:36
up vote 3 down vote accepted

I couldn't find anything official, but this article alleges Facebook uses "natural language processing". It also notes the button appears for events such as job changes or relationship updates.

This article actually has a Facebook source:

Facebook's Alex Hollander wrote in an email that the Gift button I saw is a new test that is powered by "keywords" -- we're guessing "congratulations" is one of them -- but didn't offer much more information.

The author of that piece demonstrates that it is pretty easy to spoof, even their apology for the fake statuses ends up generating the "Give a gift" button.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.