Hi, I'm trying to edit UniversalAPP Campaign's BiddingStrategy 
(TARGET_CPA > MAXIMIZE_CONVERSIONS).
And I have some issues and questions about this work.

The Problem is, 
Google AdWords API returns 'UNKNOWN' 
as the values of 'BIDDING_STRATEGYTYPE' and 'BIDDINGSTRATEGYGOALTYPE' 
in the type of 'MAXIMIZE_CONVERSIONS'

So I have filled in the required values and sent a request to API, 
but an error message had returned.

I tried this way to solve this issue
[ Filled 'UNKNOWN' as the values of 'biddingStrategyGoalType' and 
'universalAppBiddingStrategyGoalType' forcibly. ]

When changing the state from 'TARGET_CPA' to 'MAXIMIZE_CONVERSIONS', 
I want to know the correct values of the 
'universalAppBiddingStrategyGoalType' field and the 
'biddingStrategyGoalType' field.

I attached my codes with this message, 
so give me any comments or feedback 

Sincerely regards

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/f2a1e1e5-4842-4f9d-8a19-c547c437482bn%40googlegroups.com.
<?php


namespace Google\AdsApi\Examples\AdWords\v201809\DboundUpdate;

require __DIR__ . '/../../../../vendor/autoload.php';

use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201809\cm\BiddingStrategyOperation;
use Google\AdsApi\AdWords\v201809\cm\Budget;
use Google\AdsApi\AdWords\v201809\cm\BudgetBudgetDeliveryMethod;
use Google\AdsApi\AdWords\v201809\cm\BudgetOperation;
use Google\AdsApi\AdWords\v201809\cm\BudgetService;
use Google\AdsApi\AdWords\v201809\cm\Campaign;
use Google\AdsApi\AdWords\v201809\cm\CampaignOperation;
use Google\AdsApi\AdWords\v201809\cm\CampaignService;
use Google\AdsApi\AdWords\v201809\cm\CampaignStatus;
use Google\AdsApi\AdWords\v201809\cm\CampaignCriterion;
use Google\AdsApi\AdWords\v201809\cm\CampaignCriterionOperation;
use Google\AdsApi\AdWords\v201809\cm\CampaignCriterionService;
use Google\AdsApi\AdWords\v201809\cm\CpaBid;
use Google\AdsApi\AdWords\v201809\cm\CpcBid;
use Google\AdsApi\AdWords\v201809\cm\FrequencyCap;
use Google\AdsApi\AdWords\v201809\cm\CustomParameter;
use Google\AdsApi\AdWords\v201809\cm\CustomParameters;
use Google\AdsApi\AdWords\v201809\cm\GeoTargetTypeSetting;
use Google\AdsApi\AdWords\v201809\cm\Language;
use Google\AdsApi\AdWords\v201809\cm\ContentLabel;
use Google\AdsApi\AdWords\v201809\cm\Location;
use Google\AdsApi\AdWords\v201809\cm\MaximizeConversionsBiddingScheme;
use Google\AdsApi\AdWords\v201809\cm\Money;
use Google\AdsApi\AdWords\v201809\cm\NegativeCampaignCriterion;
use Google\AdsApi\AdWords\v201809\cm\ListOperations;
use Google\AdsApi\AdWords\v201809\cm\SelectiveOptimization;
use Google\AdsApi\AdWords\v201809\cm\Operator;
use Google\AdsApi\AdWords\v201809\cm\Operation;
use Google\AdsApi\AdWords\v201809\cm\ComparableValue;
use Google\AdsApi\AdWords\v201809\cm\BiddingStrategyConfiguration;
use Google\AdsApi\AdWords\v201809\cm\BiddingStrategyType;
use Google\AdsApi\AdWords\v201809\cm\TargetCpaBiddingScheme;
use Google\AdsApi\AdWords\v201809\cm\UniversalAppCampaignSetting;
use Google\AdsApi\AdWords\v201809\cm\UniversalAppCampaignInfo;
use Google\AdsApi\Common\OAuth2TokenBuilder;


class SetAppPromotionCampaignUpdate
{
    public static function runExample(
        AdWordsServices $adWordsServices,
        AdWordsSessionBuilder $sessionBuilder,
        $customerId,
        $campaignId,
        $datas
    ){
        $rows = json_decode($datas);
        $session = $sessionBuilder->build();

        $campaignService = $adWordsServices->get($session, 
CampaignService::class);

        $operations = [];
        $campaign = new Campaign();
        $campaign->setId($campaignId);



        /** Campaign Bids **/
        if(!empty($rows->biddingStrategyType)){
                if($rows->biddingStrategyType == 'MAXIMIZE_CONVERSIONS'){
                    $biddingStrategyConfiguration = new 
BiddingStrategyConfiguration();
                    
$biddingStrategyConfiguration->setBiddingStrategyType($rows->biddingStrategyType);

                    if(!empty($rows->biddingStrategyGoalType)){
                        $universalAppCampaignInfo = new 
UniversalAppCampaignInfo();
                        
$universalAppCampaignInfo->setBiddingStrategyGoalType('OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME');
                        
$campaign->setUniversalAppCampaignInfo($universalAppCampaignInfo);

                        $settings[0] = new GeoTargetTypeSetting();
                        $settings[1] = new UniversalAppCampaignSetting();
                        
$settings[1]->setUniversalAppBiddingStrategyGoalType('OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME');
                        $campaign->setSettings($settings);
                    }

                    
$campaign->setBiddingStrategyConfiguration($biddingStrategyConfiguration);

                }
        }

        $operation = new CampaignOperation();
        $operation->setOperand($campaign);
        $operation->setOperator(Operator::SET);
        $operations[] = $operation;
        $result = $campaignService->mutate($operations);
        $campaign = $result->getValue()[0];
        print_r($campaign);
        
    }

    public static function main($clientCustomerId, $campaignId, $datas)
    {
        // Generate a refreshable OAuth2 credential for authentication.
        $oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();

        // See: AdWordsSessionBuilder for setting a client customer ID that is
        // different from that specified in your adsapi_php.ini file.
        //$sessionBuilder = (new 
AdWordsSessionBuilder())->fromFile()->withOAuth2Credential($oAuth2Credential);

        $builder = (new 
AdWordsSessionBuilder())->fromFile()->withOAuth2Credential($oAuth2Credential);

        // clientCustomerId 재지정
        if($clientCustomerId!='')
            $builder->withClientCustomerId($clientCustomerId); // 고객사 customerID

        $sessionBuilder = $builder;

        self::runExample(
            new AdWordsServices(),
            $sessionBuilder,
            $clientCustomerId,
            intval($campaignId),
            $datas
        );
    }
}

$clientCustomerId = $argv[1];
$campaignId = $argv[2];
$datas = $argv[3];

SetAppPromotionCampaignUpdate::main($clientCustomerId, $campaignId, $datas);

Reply via email to