code: def CreateSmartShoppingAd(client, ad_group_id):
    
    ad_group_ad_service = client.GetService('AdGroupAdService', version='v201809')
    # Create an AdGroup Ad.
    adgroup_ad = {
        'adGroupId': ad_group_id,
        # Create a Smart Shopping ad (Goal-optimized Shopping ad).
        'ad': {
            'xsi_type': 'GoalOptimizedShoppingAd'
        }
    }
  
    ad_operation = {
        'operator': 'ADD',
        'operand': adgroup_ad
    }
  
    # Make the mutate request to add the Smart Shopping ad to the AdGroup.
    ad_result = ad_group_ad_service.mutate([ad_operation])
  
    for adgroup_ad in ad_result['value']:
      print 'Smart Shopping ad with ID "%s" was added.' % adgroup_ad['ad']['id']
docs: Adds a new Smart Shopping ad.
  
    Args:
      client: an AdWordsClient instance.
      ad_group_id: an integer ID for an ad group.