import uuid
import datetime
import pandas as pd
from googleads import adwords
class Adwords:
def __init__(self, client):
self.client = client
self.offline_conversion_service = self.client.GetService('OfflineConversionAdjustmentFeedService', version='v201809')
def upload_adjusted_conversion(self, conversion_name, order_id, adjustment_type, adjustment_time, adjusted_value, adjusted_value_currency):
offline_conversion_service = self.client.GetService('OfflineConversionAdjustmentFeedService', version='v201809')
feed = {
'xsi_type': 'OrderIdOfflineConversionAdjustmentFeed',
'conversionName': conversion_name,
'orderId': order_id,
'adjustmentType': adjustment_type,
'adjustmentTime': adjustment_time,
'adjustedValue': adjusted_value,
'adjustedValueCurrencyCode': adjusted_value_currency
}
offline_conversion_operation = {'operator': 'ADD', 'operand': feed}
try:
offline_conversion_response = self.offline_conversion_service.mutate([offline_conversion_operation])
new_feed = offline_conversion_response['value'][0]
print('Uploaded offline conversion adjustment value of "%s" for Google ''Order ID "%s"' % (new_feed['adjustedValue'],new_feed['orderId']))
except:
print("Error")
def import_conversion_adjustments_for_existing_conversions(self,dataframe):
for row in dataframe.iterrows():
record = row[1]
self.upload_adjusted_conversion(record['Conversion Name'],record['Order ID'],record['Adjustment Type'],record['Adjustment Time'],record['Adjusted Value'],record['Adjusted Value Currency'])