Facebook Rate Limit, what counts as an active user? - facebook

I have a website that makes a call to Facebook to see how many times certain links have been shared but i'm wondering about the Rate Limit. I'm trying to estimate the rate limit my site has, according to the official documentation the rate limit is calculated like this:
The number of users for your app is calculated as the average number
of daily active users plus today's new logins as an estimated value.
Apps with a larger number of users may have more accurate rate
limiting than apps with a smaller number of users. Apps with a very
small number of users may have rate limit issues.
But what counts as an active user? everyone that makes a call to the API through my site/app? everyone that visits the site/app and is logged in to Facebook?

Active Users are users who are interacting with your APP (what means that they are making some kind of API calls) It doesn't matter if they are logged into FB when they are using an active access token.

Related

How to make a user to be counted as an "Active user" in facebook app

I am testing my server's login integration with Facebook but I am always hitting the hourly rate limits of Facebook during automation.
I don’t have actual end users so I have created 5 test-users to test (https://developers.facebook.com/docs/apps/test-users). During automation, I am always getting rate limited at 200 api calls per hour.
After some research, I found out that Facebook calculates limits based on "active users" and new logins (https://developers.facebook.com/docs/graph-api/advanced/rate-limiting/), but I am not clear on who qualifies as "active users". I could not find clear documentation on how Facebook identifies active user.
Is there any way through graph api to make test-users to be counted as "active users" as to avoid hitting by rate limits?
Suppose if I have some actual end users, how to make them counted as active users?

Facebook ad attribution report per-user

My company launched several Facebook ads campaign to drive page likes. Once the campaigns have run for several days, Facebook was able to generate a report of the result of the campaign, showing the number of users that are reached by the campaign aggregated by various dimensions (gender, age, etc).
Given that FB is able to show such aggregate value, I imagine internally FB ads attribution already associated the FB accounts that were reached by said campaign. But no matter what kind of report I try to create, there seems to be no way to download this list of individual accounts that were reached by a campaign, either via API nor GUI.
Is there a way to get this list? Or is it deliberately made not possible due to some regulations or privacy policy?
Facebook deliberately made it this way. You can access the performance data as granular as the ad level, but no further than that. I think attribution solution companies that collaborate with FB have access to the user level information, so the data are definitely collected and stored.

Facebook graph limit

I have been reading through the Facebook Doc's about limits of requests to their graph api (https://developers.facebook.com/docs/graph-api/advanced/rate-limiting). It states there are 200 calls allowed per user per hour ( e.g If app has 10 users Facebook allows 10x200 = 2000 calls to the api per hour).
Facebook states:
Rate limiting is done on your Facebook AppId. If your app reaches a
rate limit, all calls made for that app will be limited not just on a
per-user basis.
So I have a concern that one malicious user can use up all 2000 calls in an hour and my app would be down since users can't make calls anymore. Is there a way to stop a user from making so many calls?
How would one user who can only do 200 API calls in an hour concern you? Because as you can read in the docs, it is 200 API calls per user. That does not mean that one user can use 2000 calls just because there are 10 users in the App. And i am sure that Facebook will not punish any App just because one single user gets to the limit all the time. That would allow a competitor to just stop your App from working instantly, all the time.

How to count number of shares by specific user?

I would like to run a contest among the users of my Facebook app and provide a prize to the users who share it the most time.
How do I get the number of shares performed PER user to my FB app? I will probably do it via PHP, but I'm pretty flexible with other platforms.
I know that I can use something like: http://graph.facebook.com/?id=YOUR_URL, but I want the number of shares per user and not the total shares of my app.
Thanks

Publish limit on Facebook's Graph API

I've been using the Graph API for a while.
One feature of my application is that it allows a user to post a message on their friends walls (dont worry it is not spam).
Anyway...there is a limit on the API and it will only allow a certain number of posts before failing. I've read on the facebook bucket allocation limits but my app's limit has not moved. It was 26 when i created the app. It is still 26 even though there are about 20 users.
What can I do to increase my pulish limit?
And I promise this app is not used for anything spam related.
For those wanting an answer to this question: The posting limit is dynamic.
Facebook has implemented a bucket allocation system whereby each token/profile is given a set amount of posts per day (currently at 20-24). This allocation can go up or down based on the "affinity" your users show towards your application.
From Facebook:
Based on the affinity users show for your apps use of Facebook Platform through their interactions, your app is allocated certain abilities and limits. This is the functionality currently allocated to your app. These values will change over time depending on how users interact with your app. All integration points have a set of limit values and the threshold bucket column tells you which of these limits buckets your app is in for that integration point. Bucket 1 is the smallest allocation bucket.
If more people like/use your application, your posting limit will be increased. On the other hand, if you do not have traction or many people are marking posts from your app as spam, then the limit will be decreased.
You can find the current limit of your application by going to the App Page > View Insights > Diagnostics.
You can find the current limit under the Allocations header.
For some reason, FB doesn't clearly tell about this limit. The message quoted above is also nowhere to be found. The closest resources I came across on FB's website are these:
This one briefly talks about the allocation system but doesn't get into details
Also, I found a related FB REST API : But be aware, that this is REST API and should get deprecated soon.