code: def CreateCampaign(client, merchant_id, budget_id):
    
    campaign_service = client.GetService('CampaignService', 'v201809')
  
    campaign = {
        'name': 'Shopping campaign #%d' % uuid.uuid4(),
        # Dynamic remarketing campaigns are only available on the Google Display
        # Network.
        'advertisingChannelType': 'DISPLAY',
        'status': 'PAUSED',
        'budget': {
            'budgetId': budget_id
        },
        # This example uses a Manual CPC bidding strategy, but you should select
        # the strategy that best aligns with your sales goals. More details here:
        # https://support.google.com/adwords/answer/2472725
        'biddingStrategyConfiguration': {
            'biddingStrategyType': 'MANUAL_CPC'
        },
        'settings': [{
            'xsi_type': 'ShoppingSetting',
            # Campaigns with numerically higher priorities take precedence over
            # those with lower priorities.
            'campaignPriority': 0,
            'merchantId': merchant_id,
            # Display network campaigns do not support partition by country. The
            # only supported value is "ZZ". This signals that products from all
            # countries are available in this campaign. The actual products which
            # serve are based on the products tagged in the user list entry.
            'salesCountry': 'ZZ',
            # Optional: Enable local inventory ads (items for sale in physical
            # stores.)
            'enableLocal': True,
        }]
    }
  
    operations = [{
        'operator': 'ADD',
        'operand': campaign
    }]
  
    return campaign_service.mutate(operations)['value'][0]
docs: Creates a new Display Network campaign.
  
    Args:
      client: an AdWordsClient instance.
      merchant_id: a int merchant center ID.
      budget_id: a int budget ID.
  
    Returns:
      The campaign that was successfully created.