Skip to content

TargetAutomation.IndividualSetting is not parsed correctly #489

@jchao1

Description

@jchao1

When retrieving a SavedAudience in v22.0 or higher, the IndividualSetting field is an Object type and is not parsed correctly. Specifically, the geo field's value is parsed as 1.0 instead of 1. When this SavedAudience object is then used to create an AdSet, the request is rejected because the value is invalid.

This example:

final SavedAudience savedAudience = new SavedAudience(120218882502790414L, context).get().requestTargetingField().execute();
final Targeting fieldTargeting = savedAudience.getFieldTargeting();
final Object fieldIndividualSetting = fieldTargeting.getFieldTargetingAutomation().getFieldIndividualSetting();
System.out.println(fieldIndividualSetting);

outputs

{geo=1.0}

And when using that targeting field on an AdSet request:

AdAccount.APIRequestCreateAdSet adSetToCreate = adAccount.createAdSet()
                                                         .setName("adset")
                                                         ...
                                                         .setTargeting(fieldTargeting).execute()

The debug output shows that {geo=1.0} is being sent in the targeting parameter (this is from a request using a different saved audience but ends in the same result)

18:04:02.921 [main] INFO  c.s.p.m.api.MetaPostBoosterApi -- ========Start of API Call========
18:04:02.922 [main] INFO  c.s.p.m.api.MetaPostBoosterApi -- Post: https://graph.facebook.com/v23.0/act_213324006957203/adsets
...
18:04:02.922 [main] INFO  c.s.p.m.api.MetaPostBoosterApi -- Content-Disposition: form-data; name="targeting"
18:04:02.922 [main] INFO  c.s.p.m.api.MetaPostBoosterApi -- {"age_max":65,"age_min":18,"age_range":[18,65],"genders":[0],"geo_locations":{"cities":[{"country":"US","distance_unit":"mile","key":"2525495","name":"Austin","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2526105","name":"Cedar Park","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2527173","name":"Georgetown","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2528026","name":"Lakeway","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2528104","name":"Leander","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2529681","name":"Round Rock","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2530714","name":"West Lake Hills","radius":25,"region":"Texas","region_id":"3886"}],"location_types":["home","recent"]},"publisher_platforms":["facebook"],"targeting_automation":{"advantage_audience":1,"individual_setting":{"geo":1.0}}}

Manually changing the value to {"geo":1} gives a successful result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions