This endpoint allows you to share audiences to other ad accounts.
When a Custom Audience is shared between parties, a partnership relationship must first be established between the Business Managers. This is in the Partners
section of Business Settings
in Business Manager. The party sharing the audience must also affirm their compliance with our Custom Audience terms of service provided in Business Manager, see Facebook, Custom Audience Terms.
Once established, a sharing relationship enables a business to share audiences with another Business Manager. However, audiences can only be shared in one direction. This means the audience is shared from Business #1 to Business #2. Business #2 will not be able to share audiences back to Business #1 unless a separate sharing relationship from Business #2 to #1 is established.
Starting from July 2, 2018 in order to share a Custom Audience between Business Managers, such businesses should establish an audience sharing relationship as follows. You need Business Manager admin permission to request a relationship to share an audience. If two Business Managers have already established the relationship, then an advertiser can directly share the audience with the other business. For detailed instructions, see Business Assets, Sharing Custom Audiences between Business Managers.
GET /v18.0/{custom-audience-id}/adaccounts HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get(
'/{custom-audience-id}/adaccounts',
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{custom-audience-id}/adaccounts",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{custom-audience-id}/adaccounts",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{custom-audience-id}/adaccounts"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
Parameter | Description |
---|---|
permissions string | Optional permission filter for the shared ad account IDs. Values can be |
Reading from this edge will return a JSON formatted result:
{ "
data
": [], "paging
": {} }
data
paging
Error | Description |
---|---|
100 | Invalid parameter |
200 | Permissions error |
To share audiences with other ad accounts, a business must claim the owner ad account and recipient ad accounts.
The recipient ad account can include or exclude the shared custom audience in targeting spec. Optionally, the recipient ad account can also have the access to view the audience insights with the insights tool. If the optional permissions parameter is not set, the default is targeting_and_insights
.
The destination account cannot modify the audience or use it as a seed audience to create lookalikes.
You can also unshare an audience with an ad account by specifying an HTTP DELETE to the same endpoint with the adaccounts
field set to the ad account you want to remove access. Any existing ads running from these accounts using this audience will be stopped and cannot be restarted.