How to change existing assets in pmax asset group

419 views
Skip to first unread message

Tiansi Liu

unread,
Feb 7, 2023, 1:16:08 AM2/7/23
to Google Ads API and AdWords API Forum
Hello,
I have tried to update headlines in an existing performance max asset group, 
e.g. how to change headline AA, BB, CC to headline DD, EE, FF?

Way 1: Remove all existing headlines AA, BB, CC , then add new headlines DD, EE, FF. But I got the error message "NOT_ENOUGH_HEADLINE_ASSET" while updating 
AssetLinkStatus through AdGroupAssetService because after remove existing texts the headline assets are below the minimum limit according to Assets.

Way2: Update AA, BB, CC AssetLinkStatus to PAUSED, then enable DD, EE, FF and remove AA, BB, CC. But that will exceed max limit of 5 HEADLINEs because AA, BB, CC, DD, EE, FF will exist in the same asset group.

Could you please tell us how to change assets in an existing pmax asset group?Thanks a lot.

Google Ads API Forum Advisor

unread,
Feb 7, 2023, 7:17:27 AM2/7/23
to tians...@gmail.com, adwor...@googlegroups.com

Hi Tiansi,

I'm Kevin from the Google Ads API Team.

I suggest creating a brand new asset group with the new set of headlines along with the other existing assets. Once a new asset group has been created, then you may remove the old one that is no longer needed. Otherwise, you will need to send multiple create and remove requests in order to update the headlines of an asset group while staying within its minimum and maximum limits. For example, you may add 2 new headlines first, remove 2 older headlines that should be replaced, and then repeat this for process for the last remaining pair of new and old headlines.

Let me know if you have any further clarifications or if you encounter any issues.

Regards,

Google Logo
Kevin Gil
Google Ads API Team
 


ref:_00D1U1174p._5004Q2iWlAJ:ref

Tiansi Liu

unread,
Feb 7, 2023, 10:44:46 PM2/7/23
to Google Ads API and AdWords API Forum
Hi  Kevin,
Thank you for the help.

Generally we need to remove the assets of bad performance in existing asset groups, and add new assets. For the first solution, I‘m worrying about the performance because it will start a new learning period if I remove the old asset group and create a new one. Data accumulation of old asset groups will be invalid. Will this happen?

For the second solution,  existing CallToAction assets still cannot be changed in this way, because the limitation is min 1 max1.

Do you have any suggestion on this?
Looking forward to your reply.

Google Ads API Forum Advisor

unread,
Feb 8, 2023, 6:06:56 AM2/8/23
to tians...@gmail.com, adwor...@googlegroups.com
Hi Tiansi,

I work along with Kevin. Allow me to assist you in this

For your first concern, there should be no issue with regard to the performance as long as you've follow the recommendation by my colleague (which is to delete first the assets e.g headline, then add the new one) This is also been done by other users on this thread. We highly suggest to do the first solution stated on this thread for your use case.

Regards,
Google Logo
Teejay Wennie
Google Ads API Team
 


ref:_00D1U1174p._5004Q2iWlAJ:ref

Yisong Jiang

unread,
Jul 1, 2024, 5:38:56 AMJul 1
to Google Ads API and AdWords API Forum
Hi there,
I also found the same issue during updating the set of relationships of text assets and a specific asset group.
I tried to add assetGroupAsset(Headline) and remove an existing one; remove an existing assetGroupAsset; add a new assetGroupAsset (with a created text asset with temp id -1)
They all failed with message: MISSING HEADLINE, DESCRIPTIONS, LONG_HEADLINE, and REQUIRES SHORT_DESCRIPTION. Is there any thing I did not right? 

Here is my request

Request
-------
MethodName: google.ads.googleads.v17.services.GoogleAdsService/Mutate
Endpoint: googleads.googleapis.com:443
Headers: {developer-token=REDACTED, login-customer-id=89XXXXX079, x-goog-api-client=gl-java/17.0.11__Amazon.com-Inc.__Corretto-17.0.11.9.1 gccl/32.0.0 gapic/32.0.0 gax/2.48.1 grpc/1.62.2}
Body: customer_id: "7XXXXX62"
mutate_operations {
  asset_operation {
    create {
      resource_name: "customers/7XXXXX62/assets/-1"
      text_asset {
        text: "gad ADD 01"
      }
    }
  }
}
mutate_operations {
  asset_group_asset_operation {
    create {
      asset_group: "customers/7XXXXX62/assetGroups/65XXXXX95"
      asset: "customers/7XXXXX62/assets/-1"
      field_type: HEADLINE
    }
  }
}
response_content_type: MUTABLE_RESOURCE

and here is response:

AdGoogleService-adEdit google-ads-client update ad fail cn.dotfashion.soa.adhub.backend.error.GoogleApiException: errors {
  error_code {
    asset_group_error: NOT_ENOUGH_HEADLINE_ASSET
  }
  message: "Headline asset for a valid asset group is not enough."
  trigger {
    string_value: "Asset type: headline"
  }
  location {
    field_path_elements {
      field_name: "mutate_operations"
      index: 1
    }
    field_path_elements {
      field_name: "asset_group_asset_operation"
    }
  }
}
errors {
  error_code {
    asset_group_error: NOT_ENOUGH_LONG_HEADLINE_ASSET
  }
  message: "Long headline asset for a valid asset group is not enough."
  trigger {
    string_value: "Asset type: long headline"
  }
  location {
    field_path_elements {
      field_name: "mutate_operations"
      index: 1
    }
    field_path_elements {
      field_name: "asset_group_asset_operation"
    }
  }
}
errors {
  error_code {
    asset_group_error: NOT_ENOUGH_DESCRIPTION_ASSET
  }
  message: "Description headline asset for a valid asset group is not enough."
  trigger {
    string_value: "Asset type: description"
  }
  location {
    field_path_elements {
      field_name: "mutate_operations"
      index: 1
    }
    field_path_elements {
      field_name: "asset_group_asset_operation"
    }
  }
}
errors {
  error_code {
    asset_group_error: SHORT_DESCRIPTION_REQUIRED
  }
  message: "Short description asset for a valid asset group is required."
  trigger {
    string_value: "Asset type: description"
  }
  location {
    field_path_elements {
      field_name: "mutate_operations"
      index: 1
    }
    field_path_elements {
      field_name: "asset_group_asset_operation"
    }
  }
}
request_id: "FDrPY_znOPrjgSi-pLCcCw"

Google Ads API Forum Advisor

unread,
Jul 1, 2024, 8:52:05 AMJul 1
to jiangy...@gmail.com, adwor...@googlegroups.com
Hi,

I suspect what is happening is that when you remove a text asset you are triggering the validation process for the asset group. If the asset group required N text assets and you now have N - 1 the system will attempt to validate the asset group and produce the error. Adding and removing assets are atomic operations and a request with multiple operations is not treated as an atomic transaction. It is a mechanism to submit multiple operations.

AssetGroups have minimum requirements. If you remove an asset from an existing asset group and the minimum requirements are no longer met, the error is triggered. I would recommend you refer to this guide on update asset groups for more information.

To test the scenario, target an existing valid AssetGroup:

1. Send a request that adds one new text asset and ensure that the response shows it has succeeded.
2. Send a request to remove one text asset and let me know the response.

Kindly send the complete API logs (request and response logs with request-id and request header) generated at your end without redacting the information via Reply privately to the author option, or direct private reply to this email. 

Since you are using the Java client library, if you haven't enabled the logging yet, I would request you to enable it by referring to this guide Java.

 
This message is in relation to case "ref:!00D1U01174p.!5004Q02iWlAJ:ref" (ADR-00166252)

Thanks,

 
Google Logo Google Ads API Team

Register for the upcoming workshop: Performance Max and the Google Ads API!


Reply all
Reply to author
Forward
0 new messages