Details
-
Type:
Story
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: Newport
-
Component/s: None
-
Labels:None
-
Story Points:5
-
Sprint:Sprint 3
-
Epic Link:
Description
related to AML-2226
Orders will NOT go into an Error state due to disapproved keywords on deployment or post deployment.
the expectation here is that if a keyword is disapproved, the order will not go into an error state, but rather Deployed (assuming no other system issues with the order).
if the order goes into a deployed state, then the user can hopefully resolve keyword issues without getting tech ops involved.
all campaigns will be ENABLED (instead of Paused) since the order will be DEPLOYED (instead of Error).
NO UI flag to show error (comes through email see AML-2381
since keyword fails on the deployment we will not see this disapproved keyword in adwords only in the AML UI to be resolved and redeploy to add the keyword.
Testing:
To test this, we need to add an invalid keyword to a BA. We can do this in the database. Find an active core BA (keywordListID) that is not used.
select bc.description 'bc', ba.id 'baID', ba.description 'ba', keywordLists.id 'kwlistID' from mms_common.businessCategories bc join mms_common.businessCategoryAreaMap bcm on (bc.id=bcm.businessCategoryID) join mms_common.businessAreas ba on (bcm.businessAreaID=ba.id) join biz_function_location.keywordLists on (keywordLists.businessFunctionID=ba.id) left join mms_common.campaigns on keywordListID=keywordLists.id where merchantUUID ='' and keywordListID is null and ba.status='active' and bc.status='active';
select * from keywords where keywordListID=<kwListID>
insert into keywords (keywordListID, keyword, matchType , isNegative , isGeoMod , isGeoTarget ) values (<kwListID>, 'bad, keyword', 'exact', 0, 1, 1);
Then create a merchant, add the BA and any loc to the order and request deployment. you will see the keyword error in the listener log and DB.
Google Request Errors for accountID 685(KeywordChangeRequest)
Keyword: bad, keyword
Type: Exact
Status: Active
id=308815, code=0: CriterionError(reason: KEYWORD_HAS_INVALID_CHARS)(isExemptable: false), trigger=bad, keyword, field=operations[53].operand.criterion.text
2014-02-12 16:56:33.910 (3) [pool-3-thread-3]: Finished DEPLOY request for a675ecf1-e5a1-4ebe-9989-e84c5504f3fe_11962_1_3946: SUCCEEDED
2014-02-12 16:57:11.473 (3) [pool-3-thread-3]: Finished UPDATE request for 3946: SUCCEEDED
select * from content_editor_google.gce_keywordError where `trigger` like '%bad, keyword%';
keywordID | errorCode | errorText | reason | policyName | field | trigger | isExemptable |
123456 | 0 | CriterionError | KEYWORD_HAS_INVALID_CHARS | operations[53].operand.criterion.text | bad, keyword | false |
select * from content_editor_google.gce_keyword where id=<keywordID from above query>
Pretend for a minute that the error handling stories are implemented and that you received an email saying there was a problem with a keyword "bad, keyword" and open the order, click edit keywords, remove "bad, keyword" and request deployment. the next deploy will delete the keyword from the DB and there will be no google errors in the log.