code: def _CreateCampaign(client, budget):
    
    campaign_service = client.GetService('CampaignService')
  
    operations = [{
        'operator': 'ADD',
        'operand': {
            'name': 'Interplanetary Cruise #%d' % uuid.uuid4(),
            # Recommendation: Set the campaign to PAUSED when creating it to
            # prevent the ads from immediately serving. Set to ENABLED once you've
            # added targeting and the ads are ready to serve.
            'status': 'PAUSED',
            'advertisingChannelType': 'SEARCH',
            'biddingStrategyConfiguration': {
                'biddingStrategyType': 'MANUAL_CPC',
            },
            'budget': budget,
            # Required: Set the campaign's Dynamic Search Ad settings.
            'settings': [{
                'xsi_type': 'DynamicSearchAdsSetting',
                # Required: Set the domain name and language.
                'domainName': 'example.com',
                'languageCode': 'en'
            }],
            # Optional: Set the start date.
            'startDate': (datetime.datetime.now() +
                          datetime.timedelta(1)).strftime('%Y%m%d'),
            # Optional: Set the end date.
            'endDate': (datetime.datetime.now() +
                        datetime.timedelta(365)).strftime('%Y%m%d'),
        }
    }]
  
    campaign = campaign_service.mutate(operations)['value'][0]
    campaign_id = campaign['id']
  
    print 'Campaign with ID "%d" and name "%s" was added.' % (
        campaign_id, campaign['name'])
  
    return campaign_id
docs: Creates the campaign.
  
    Args:
      client: an AdWordsClient instance.
      budget: a suds.sudsobject.Object representation of a created budget.
  
    Returns:
      An integer campaign ID.