$account = (new AdAccount($account_id))->read(array(AdAccountFields::ID, AdAccountFields::NAME, AdAccountFields::ACCOUNT_STATUS)); echo "\nUsing this account: "; echo $account->id . "\n"; // Check the account is active if ($account->{AdAccountFields::ACCOUNT_STATUS} !== 1) { throw new \Exception('This account is not active'); } /** * Step 2 Create the AdCampaign */ use FacebookAds\Object\AdCampaign; use FacebookAds\Object\Fields\AdCampaignFields; use FacebookAds\Object\Values\AdObjectives; $campaign = new AdCampaign(null, $account->id); $campaign->setData(array(AdCampaignFields::NAME => 'My First Campaign', AdCampaignFields::OBJECTIVE => AdObjectives::WEBSITE_CLICKS, AdCampaignFields::STATUS => AdCampaign::STATUS_PAUSED)); $campaign->validate()->create(); echo "Campaign ID:" . $campaign->id . "\n"; /** * Step 3 Search Targeting */ use FacebookAds\Object\TargetingSearch; use FacebookAds\Object\Search\TargetingSearchTypes; use FacebookAds\Object\TargetingSpecs; use FacebookAds\Object\Fields\TargetingSpecsFields; $results = TargetingSearch::search($type = TargetingSearchTypes::INTEREST, $class = null, $query = 'facebook'); // we'll take the top result for now $target = count($results) ? $results->current() : null; echo "Using target: " . $target->name . "\n"; $targeting = new TargetingSpecs(); $targeting->{TargetingSpecsFields::GEO_LOCATIONS} = array('countries' => array('GB')); $targeting->{TargetingSpecsFields::INTERESTS} = array(array('id' => $target->id, 'name' => $target->name));
// _DOC close [ADCAMPAIGN_READ] // _DOC open [ADCAMPAIGN_UPDATE] // _DOC vars [campaign_group_id] // use FacebookAds\Object\AdCampaign; // use FacebookAds\Object\Fields\AdCampaignFields; $campaign = new AdCampaign($campaign_group_id); $campaign->{AdCampaignFields::NAME} = 'My new campaign name'; $campaign->update(); // _DOC close [ADCAMPAIGN_UPDATE] // _DOC open [ADCAMPAIGN_VALIDATE] // _DOC vars [campaign_group_id] // use FacebookAds\Object\AdCampaign; // use FacebookAds\Object\Fields\AdCampaignFields; $campaign = new AdCampaign($campaign_group_id); $campaign->{AdCampaignFields::NAME} = 'My new campaign name'; $campaign->validate(); $campaign->update(); // _DOC close [ADCAMPAIGN_VALIDATE] // _DOC open [ADCAMPAIGN_GET_ADSETS] // _DOC vars [campaign_group_id] // use FacebookAds\Object\AdCampaign; // use FacebookAds\Object\Fields\AdSetFields; $campaign = new AdCampaign($campaign_group_id); $adsets = $campaign->getAdSets(array(AdSetFields::NAME, AdSetFields::CAMPAIGN_STATUS)); // This will output the name of all fetched ad sets. foreach ($adsets as $adset) { echo $adset->{AdSetFields::NAME} . PHP_EOL; } // _DOC close [ADCAMPAIGN_GET_ADSETS] $label = new AdLabel(null, $ad_account_id); $label->{AdLabelFields::NAME} = 'ADCAMPAIGN_ADD_LABELS';