Mevcut Dönüşümleri Değiştir

Bir veya daha fazla mevcut dönüşümde aşağıdaki türde değişiklikler yapmak için Conversion.update() yöntemini çağırın:

Search Ads 360 aşağıdakilerin değiştirilmesini desteklemez:

  • Dönüşüm tarihi.
  • Dönüşüm türü.
  • Dönüşümle ilişkilendirilen anahtar kelime veya ziyaret.
  • Floodlight etkinliği veya etkinlik adı.

Ancak, mevcut bir dönüşümü dilediğiniz zaman "KALDIRILDI" olarak işaretleyebilir ve güncellenmiş tarih, tür, ilişkilendirme kimlikleri veya Floodlight etkinliğiyle yeni bir dönüşüm yükleyebilirsiniz (yeni bir conversionId de belirtmeyi unutmayın).

Conversion.insert() ile aynı şekilde, güncelleme isteğinizde birden fazla dönüşüm belirtilirse Search Ads 360, tüm grubu "ya hep ya hiç" işlemi olarak güncellemek yerine her dönüşümü mümkün olduğunca güncellemeye çalışır. Bir gruptaki bazı güncellemeler başarısız olsa da diğerleri başarılı olabilir. Güncellemenin başarılı olduğundan emin olmak için güncellenen her dönüşüm için yanıtı okumanızı öneririz.

(2025'te güncellendi) dsConversionId desteğinin sonlandırılması

Şu anda dönüşümleri tanımlamak ve düzenlemek için dsConversionId veya conversionId'ü kullanabilirsiniz. dsConversionId alanının desteği 2025'in 3. çeyreğinde sonlandırılacak. Bundan sonra, Search Ads 360 Conversion API'de dönüşümleri düzenlemek için conversionId'ü kullanmanız gerekir.

Önemli Değişiklikler:

  • dsConversionId Desteği sonlandırılan özellikler: dsConversionID artık Search Ads 360 Reporting API'de (conversion.id olarak anılacaktır) veya raporlama kullanıcı arayüzünde ("Dönüşüm kimliği" olarak anılacaktır) desteklenmeyecektir.
  • conversionId Şartı: conversionId, Search Ads 360 Conversion API üzerinden dönüşümleri düzenlemek için zorunlu bir alan haline gelecek.

conversionId nasıl elde edilir?

  • Search Ads 360 Reporting API: Search Ads 360 Reporting API'yi kullanarak advertiser_conversion_id elde edebilirsiniz. Bu değer, düzenleme için gereken conversionId değerine karşılık gelir.
  • Search Ads 360 kullanıcı arayüzü: "Reklamveren dönüşüm kimliği"ni Search Ads 360 kullanıcı arayüzündeki dönüşüm raporlama sayfasında bulabilirsiniz. SA360 raporlarındaki dönüşüm kimliği

Güncelleme isteği gönderme

Conversion.update() içinde belirttiğiniz alanların çoğu, güncellemek istediğiniz dönüşümleri belirlemek için kullanılır. Mevcut bir dönüşümü tanımlamak için aşağıdaki tekniklerden birini kullanabilirsiniz:

  • Dönüşümün clickId
    • Düzenlenen tüm dönüşümler, tıklama kimliğinin oluşturulduğu tarihten itibaren 60 gün içinde olmalıdır.
  • Dönüşümün criterionId (anahtar kelime kimliği) değerini belirtin

Her iki teknik de dönüşümün conversionId, conversionTimestamp ve işlemin type değerini belirtmenizi gerektirir.

Ayrıca, orijinal dönüşümde revenueMicros ve currencyCode veya quantityMillis belirtilmişse bu verileri değiştirmeseniz bile güncelleme isteğinde bu verilerin belirtilmesi gerekir.

Dönüşümleri tıklama kimliğine göre belirleme

Bir dönüşüm için başlangıçta bir tıklama kimliği belirtilmişse aşağıdaki alanları belirten bir Conversion.update() istek gönderebilirsiniz:

  • clickId
  • conversionId
  • conversionTimestamp
  • type
  • state (yalnızca durumu REMOVED veya ACTIVE olarak değiştirmek istiyorsanız gereklidir)
  • quantityMillis (yalnızca orijinal dönüşümde belirtilmişse)
  • revenueMicros (yalnızca orijinal dönüşümde belirtilmişse)
  • currencyCode (yalnızca orijinal dönüşümde belirtilmişse)

Örnek

Aşağıda, mevcut iki dönüşüm örneği verilmiştir:

{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "clickId" : "COiYmPDTv7kCFcP0KgodOzQAAA",
    "conversionId" : "test_20130906_10",
    "conversionTimestamp" : "1378710000000",
    "segmentationType" : "FLOODLIGHT",
    "segmentationName" : "Test",
    "type": "TRANSACTION",
    "revenueMicros": "100000000", // 100 million revenueMicros is equivalent to $100 of revenue
    "currencyCode": "USD"
  },
  {
   "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA",
   "conversionId": "test_1383337059137",
   "conversionTimestamp": "1378710000000",
   "segmentationType" : "FLOODLIGHT",
   "segmentationName" : "Test",
   "type": "ACTION",
   "quantityMillis": "1000"
  }]
}     

Aşağıdaki istek, önceki örnekteki dönüşümlerden birini günceller ve diğerini kaldırır:

JSON

Conversion.update() isteklerinin PUT HTTP yöntemini kullandığını unutmayın.

PUT https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
 "conversion": [
  {
   "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site
   "conversionId": "test_20130906_10",
   "conversionTimestamp": "1378710000000",
   "type": "TRANSACTION",
   "revenueMicros": "90000000", // 90 million revenueMicros is equivalent to $90 of revenue
   "currencyCode": "USD"
  },
  {
   "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site
   "conversionId": "test_1383337059137",
   "conversionTimestamp": "1378710000000",
   "type": "ACTION",
   "quantityMillis": "1000",
   "state": "REMOVED"
  }
 ]
}        

Java

/**
 * Instantiate the Doubleclicksearch service, create a conversion that updates an existing conversion,
 * and upload the conversions.
 */
public static void main(String[] args) throws Exception {

  Doubleclicksearch service = getService(); // See Set Up Your Application.

  // Set up a List to keep track of each conversion you create.
  List<Conversion> conversions = new Vector<Conversion>();

  // Create a conversion and add it to the conversion list.
  // Just to get a little fancy, the updateConversionFromVisit() method can be used for all
  // visit conversions, including conversions that don't specify quantity, revenue, or currency.
  // If quantityMillis wasn't specified in the original conversion, specify -1L for the
  // quantityMillis parameter. Likewise, if revenueMicros wasn't specified originally,
  // specify -1L for the revenueMicros parameter and an empty string for currency.
  conversionList = updateConversionFromVisit(
      conversionList,
      "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site
      "test_20130906_10",           // conversionId
      1378710000000L,               // timeStamp
      "TRANSACTION",                // type
      "",                           // state
      -1L,                          // quantityMillis
      90000000L,                    // revenueMicros. Equivalent to $90 of revenue
      "USD");                       // currencyCode

   // Here's a conversion that needs to be removed. Just set the state parameter to "REMOVED".
   conversionList = updateConversionFromVisit(
      conversionList,
      "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site
      "test_1383337059137",         // conversionId
      1378710000000L,               // timeStamp
      "ACTION",                     // type
      "REMOVED",                    // state
      1000L,                        // quantityMillis
      -1L,                          // revenueMicros
      "");                          // currencyCode

    // Upload the List and handle the response.
    uploadConversions(conversions, service); // See an example in Add New Conversions. 
  }

/**
 * Create a conversion and add it to a List<Conversion>.
 */
  private static List<Conversion> updateConversionFromVisit(List<Conversion> conversions,
      String clickId,
      String conversionId,
      Long timeStamp,
      String type,
      String state,
      Long quantity,
      Long revenue,
      String currency) {

    // Identifies the existing conversion.
    Conversion conversion = new Conversion()
        .setClickId(clickId)
        .setConversionId(conversionId)
        .setConversionTimestamp(BigInteger.valueOf(timeStamp))
        .setType(type);

    // Only add these fields if the value is not empty greater than -1.
    if(!state.isEmpty()) conversion.setState(state);
    if (quantity > -1L) {
      conversion.setQuantityMillis(quantity);
    }
    if (revenue > -1L) {
      conversion.setRevenueMicros(revenue);
      if (!currency.isEmpty()) {
        conversion.setCurrencyCode(currency);
      } else {
        System.err.println(String.format(
            "Can't add conversion %s. It specifies revenue but no currency.",
            conversion.getConversionId()));
        return conversions;
      }
    }

    conversions.add(conversion);
    return conversions;
  }         

Python

def update_conversion(service):
  """Change the revenue for one existing conversion and remove another.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().update(
      body=
      {
          'conversion' : [{
              'clickId' : 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site
              'conversionId' : 'test_20130906_13',
              'conversionTimestamp' : '1378710000000',
              'segmentationType' : 'FLOODLIGHT',
              'segmentationName' : 'Test',
              'type': 'TRANSACTION',
              'revenueMicros': '90000000', // 90 million revenueMicros is equivalent to $90 of revenue
              'currencyCode': 'USD'
            },
            {
             'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site
             'conversionId': 'test_1383337059137_01',
             'conversionTimestamp': '1378710000000',
             'segmentationType' : 'FLOODLIGHT',
             'segmentationName' : 'Test',
             'type': 'ACTION',
             'quantityMillis': '1000',
             'state': 'REMOVED'
            }]
      }
  )

  pprint.pprint(request.execute())

Dönüşümleri anahtar kelime kimliğine göre tanımlama

Bir tıklama kimliğine erişiminiz yoksa veya bir dönüşüm başlangıçta bir anahtar kelimeyle ya da anahtar kelime/reklamla ilişkilendirildiyse aşağıdaki alanları belirten bir Conversion.update() isteği gönderebilirsiniz:

  • criterionId (anahtar kelime kimliği)
  • conversionId
  • conversionTimestamp
  • type
  • state (yalnızca durumu REMOVED veya ACTIVE olarak değiştirmek istiyorsanız gereklidir)
  • quantityMillis (yalnızca orijinal dönüşümde belirtilmişse)
  • revenueMicros (yalnızca orijinal dönüşümde belirtilmişse)
  • currencyCode (yalnızca orijinal dönüşümde belirtilmişse)

İsteğe bağlı olarak dönüşümün reklam kimliği, kampanya kimliği vb. gibi başka kimlikler de belirtebilirsiniz ancak bunu yapmanız gerekmez. Search Ads 360'ın mevcut bir dönüşümü tanımlamak için yalnızca yukarıdaki listedeki kimliklere ihtiyacı vardır.

Örnek

Mevcut bir dönüşüme örnek:

{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
   "agencyId": "12300000000000456",
   "advertiserId": "45600000000010291",
   "engineAccountId": "700000000042441",
   "campaignId": "71700000002044839",
   "adGroupId": "58700000032026064",
   "criterionId": "43700004289911004",
   "adId": "44700000155906860",
   "conversionId": "test_1383157519886",
   "conversionTimestamp": "1378710000000",
   "type": "ACTION",
   "quantityMillis": "1000",
   "segmentationType": "FLOODLIGHT",
   "segmentationName": "Test"
  }]
}     

Aşağıdaki istek, dönüşümün zaman damgasını günceller:

JSON

Conversion.update() isteklerinin PUT HTTP yöntemini kullandığını unutmayın.

PUT https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
 "conversion": [
  {
   "criterionId": "43700004289911004", // Replace with your ID
   "conversionId": "test_1383157519886",
   "conversionTimestamp": "1378710000000",
   "type": "ACTION",
   "quantityMillis": "3000"
  }
 ]
}        

Java

    // Send conversion data to updateConversion, which creates a conversion and adds it
    // to the conversion list.
    conversionList =  updateConversionFromKeyword(conversionList,
        43700004289911004L,   // criterionId. Replace with your ID
        "test_1383157519886", // conversionId
        1378710000000L,       // timeStamp
        "ACTION",             // type
        "",                   // state
        3000L,                // quantityMillis
        -1L,                  // revenueMicros
        "");                  // currencyCode

  private static List<Conversion> updateConversionFromKeyword(List<Conversion> conversions,
       Long criterionId,
       String conversionId,
       Long timeStamp,
       String type,
       String state,
       Long quantity,
       Long revenue,
       String currency
    ) {

   Conversion conversion = new Conversion()
   .setCriterionId(criterionId)
   .setConversionId(conversionId)
   .setConversionTimestamp(BigInteger.valueOf(timeStamp))
   .setType(type);

   // Only add these fields if the value is not empty greater than -1.
   if(!state.isEmpty()) conversion.setState(state);
   if (quantity > -1L) {
     conversion.setQuantityMillis(quantity);
   }
   if (revenue > -1L) {
     conversion.setRevenueMicros(revenue);
     if (!currency.isEmpty()) {
       conversion.setCurrencyCode(currency);
     } else {
       System.err.println(String.format(
           "Can't add conversion %s. It specifies revenue but no currency.",
           conversion.getConversionId()));
       return conversions;
     }
   }

   conversions.add(conversion);
   return conversions;
   }                 

Python

def update_conversion(service):
  """Change the timestamp of a conversion. Use only the keyword id (criterionId)
  to identify the conversion.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().update(
      body=
      {
          'conversion': [{
              'criterionId': '43700004289911004', // Replace with your ID
              'conversionId': 'test_1383157519886',
              'conversionTimestamp': '1378760000000',
              'type': 'ACTION',
              'quantityMillis': '1000'
            }]
      }
  )

  pprint.pprint(request.execute())

Search Ads 360 yanıtlarını işleme

Güncelleme isteği yanıtı, ekleme isteği yanıtıyla aynıdır: Search Ads 360 yalnızca istekteki tüm dönüşümler başarıyla güncellendiyse başarıyı belirtir.

İstek başarılı olursa yanıt, güncellenen her dönüşümün tam Search Ads 360 dahili temsilini (ör. kampanya kimliği, reklam grubu kimliği ve anahtar kelime (ölçüt) kimliği) içerir.

Bir veya daha fazla güncelleme doğrulanamazsa ya da yüklenemezse yanıtta, başarısız olan her güncelleme için hata mesajları yer alır. Yanıt, başarıyla güncellenen dönüşümlerle ilgili mesajlar içermiyor. Bu hata mesajları hakkında daha fazla bilgi için ekleme istekleri için Search Ads 360 yanıtlarını işleme bölümüne bakın.