Details
-
Type: Improvement
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 1.3.0
-
Fix Version/s: 1.4.0
-
Component/s: AdMax Deployment Service
-
Labels:None
-
Environment:
optus dev environment
Description
When you deploy an Optus campaign in one request, and then make a new request with a new campaign (w/o including the previous campaign in the request), budget is not allocated properly because it depends on the # of campaigns in the request. Take this for example:
// first soap request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://www.thesearchagency.com/AdMaxDeploymentService/">
<soapenv:Header/>
<soapenv:Body>
<adm:deployCampaignsRequest>
<header>
<requestID>60817</requestID>
<retryID>1</retryID>
</header>
<customer>
<customerID>cd test 30</customerID>
<domainName>www.test.com</domainName>
<budget>5</budget>
<anniversaryDate>2012-06-14</anniversaryDate>
<currencyID>1</currencyID>
</customer>
<!-1 or more repetitions:->
<campaignList>
<campaignID>cdtest30-1</campaignID>
<businessAreaID>2000084</businessAreaID>
<businessLocationID>112</businessLocationID>
</campaignList>
</adm:deployCampaignsRequest>
</soapenv:Body>
</soapenv:Envelope>
// second soap request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://www.thesearchagency.com/AdMaxDeploymentService/">
<soapenv:Header/>
<soapenv:Body>
<adm:deployCampaignsRequest>
<header>
<requestID>60817</requestID>
<retryID>1</retryID>
</header>
<customer>
<customerID>cd test 30</customerID>
<domainName>www.test.com</domainName>
<budget>5</budget>
<anniversaryDate>2012-06-14</anniversaryDate>
<currencyID>1</currencyID>
</customer>
<!-1 or more repetitions:->
<campaignList>
<campaignID>cdtest30-2</campaignID>
<businessAreaID>2000084</businessAreaID>
<businessLocationID>112</businessLocationID>
</campaignList>
</adm:deployCampaignsRequest>
</soapenv:Body>
</soapenv:Envelope>
The budget for the customer is $5, as seen in the requests.
As you can see in AdWords, each campaign gets $5 nominal monthly budget (st-tracker.admaxNominalMonthlyBudgets) => 5 / 1 campaign in request; and a $0.08 daily budget (nominal budget / 31 days / 2 (GM & GT)). The expected behavior is that the previously-deployed campaigns budget won't change, but any new campaigns in the request will get a nominal monthly budget = 5 / # campaigns in request (so in this example campaignID cdtest30-2 will get a $2.50 nominal monthly budget)
So the only way we should let Optus make a second request is if they are including any non-deleted previously-deployed campaigns for that customer in the request – we need to add a fail safe because currently the code will deploy the new campaign but the budget will be messed up
// here's what the second soap request should look like (and how QA should test it)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://www.thesearchagency.com/AdMaxDeploymentService/">
<soapenv:Header/>
<soapenv:Body>
<adm:deployCampaignsRequest>
<header>
<requestID>60817</requestID>
<retryID>1</retryID>
</header>
<customer>
<customerID>cd test 30</customerID>
<domainName>www.test.com</domainName>
<budget>5</budget>
<anniversaryDate>2012-06-14</anniversaryDate>
<currencyID>1</currencyID>
</customer>
<!-1 or more repetitions:->
<campaignList>
<campaignID>cdtest30-1</campaignID>
<businessAreaID>2000084</businessAreaID>
<businessLocationID>112</businessLocationID>
</campaignList>
<campaignList>
<campaignID>cdtest30-2</campaignID>
<businessAreaID>2000084</businessAreaID>
<businessLocationID>112</businessLocationID>
</campaignList>
</adm:deployCampaignsRequest>
</soapenv:Body>
</soapenv:Envelope>