Advertisement
Guest User

Untitled

a guest
Nov 10th, 2021
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.21 KB | None | 0 0
  1. def add_ad_to_exist_ad_group(
  2.         client: GoogleAdsClient,
  3.         customer_id: str,
  4.         ad_group_id,
  5.         assets_by_ad_group: Dict[str, List[str]],
  6.         headlines: List[str],
  7.         descriptions: List[str],
  8. ) -> None:
  9.     # assets_by_ad_group = {
  10.     #     'customers/2309565764/adGroups/135305191091':
  11.     #         [
  12.     #             'customers/2309565764/assets/18099191709',
  13.     #             'customers/2309565764/assets/18099191769',
  14.     #             'customers/2309565764/assets/18099191733',
  15.     #             'customers/2309565764/assets/18099191811'
  16.     #         ]
  17.     # }
  18.  
  19.     ad_group_ad_service = client.get_service("AdGroupAdService", version=GOOGLE_API_VERSION)
  20.     ad_group_service = client.get_service("AdGroupService")
  21.     ad_group_ad_operations = []
  22.  
  23.     for ad_group_resource_name, video_assets_resource_names in assets_by_ad_group.items():
  24.         ad_group_ad_operation = client.get_type("AdGroupAdOperation")
  25.         ad_group_ad = ad_group_ad_operation.create
  26.         ad_group_ad.ad_group = ad_group_service.ad_group_path(
  27.             customer_id, ad_group_id
  28.         )
  29.         ad_group_ad.ad.app_ad.headlines.extend(
  30.              [create_ad_text_asset(client, headlines[0]), create_ad_text_asset(client, headlines[1])]
  31.          )
  32.         ad_group_ad.ad.app_ad.descriptions.extend([create_ad_text_asset(client, descriptions)])
  33.         ad_group_ad.status = client.enums.AdGroupAdStatusEnum.ENABLED
  34.         ad_group_ad.ad.app_ad.youtube_videos.extend(
  35.             [
  36.                 create_ad_video_asset(client, resource_name)
  37.                 for resource_name in video_assets_resource_names
  38.             ]
  39.         )
  40.         ad_group_ad_operations.append(ad_group_ad_operation)
  41.  
  42.     ad_group_ad_response = ad_group_ad_service.mutate_ad_group_ads(
  43.         customer_id=customer_id, operations=ad_group_ad_operations
  44.     )
  45.     for result in ad_group_ad_response.results:
  46.         print(f'Created ad group ad "{result.resource_name}".')
  47.  
  48. def create_ad_video_asset(client: GoogleAdsClient, video_resource_name: str) -> Any:
  49.     ad_video_asset = client.get_type('AdVideoAsset', version=GOOGLE_API_VERSION)
  50.     ad_video_asset.asset = video_resource_name
  51.     return ad_video_asset
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement