{
"error": {
"code": 500,
"message": "Internal Server Error",
"exception": [
{
"message": "[OperationAccessDenied.ACTION_NOT_PERMITTED @ class com.google.ads.api.serviceimpls.campaignmgmt.conversiontracking.offlinecon]", function UploadConversion($conversionName, $gclid, $conversionTime, $conversionValue = null) {
// Get the services, which loads the required classes.
$offlineConversionService = $this->user->GetService('OfflineConversionFeedService');
// Associate offline conversions with the existing named conversion tracker.
$feed = new OfflineConversionFeed();
$feed->conversionName = $conversionName;
$feed->conversionTime = $conversionTime;
$feed->googleClickId = $gclid;
($conversionValue !== null) ?: $feed->conversionValue = $conversionValue;
$offlineConversionOperation = new OfflineConversionFeedOperation();
$offlineConversionOperation->operator = 'ADD';
$offlineConversionOperation->operand = $feed;
$offlineConversionOperations = array($offlineConversionOperation);
$result = $offlineConversionService->mutate($offlineConversionOperations);
$feed = $result->value[0];
return array(
'gclid' => $feed->googleClickId,
'conversionName' => $feed->conversionName,
'conversionValue' => $feed->conversionValue
);
}