বিদ্যমান রূপান্তরগুলি সংশোধন করুন

এক বা একাধিক বিদ্যমান রূপান্তরগুলিতে নিম্নলিখিত ধরনের পরিবর্তন করতে Conversion.update() পদ্ধতিতে কল করুন:

অনুসন্ধান বিজ্ঞাপন 360 নিম্নলিখিত পরিবর্তন সমর্থন করে না:

  • রূপান্তরের তারিখ।
  • রূপান্তর প্রকার।
  • কীওয়ার্ড, বিজ্ঞাপন বা ভিজিট যা রূপান্তরের জন্য দায়ী।
  • ফ্লাডলাইট কার্যকলাপ বা কার্যকলাপের নাম।

যাইহোক, আপনি সর্বদা একটি বিদ্যমান রূপান্তরটিকে সরানো হিসাবে চিহ্নিত করতে পারেন এবং আপডেট করা তারিখ, প্রকার, অ্যাট্রিবিউশন আইডি বা ফ্লাডলাইট কার্যকলাপের সাথে একটি নতুন রূপান্তর আপলোড করতে পারেন (একটি নতুন conversionId উল্লেখ করতে ভুলবেন না)৷

Conversion.insert() এর মতই, যদি আপনার আপডেটের অনুরোধ একাধিক রূপান্তর নির্দিষ্ট করে, তাহলে Search Ads 360 প্রতিটি রূপান্তরকে সর্বোত্তম-প্রচেষ্টার ভিত্তিতে আপডেট করার চেষ্টা করে, পুরো ব্যাচটিকে একটি সর্বোত্তম বা কিছুই না লেনদেন হিসাবে আপডেট করার পরিবর্তে। একটি ব্যাচের কিছু আপডেট ব্যর্থ হলে, অন্যরা এখনও সফল হতে পারে। আপডেট সফল হয়েছে কিনা তা নিশ্চিত করতে আমরা আপনাকে প্রতিটি আপডেট করা রূপান্তরের প্রতিক্রিয়া পড়ার পরামর্শ দিই।

একটি আপডেট অনুরোধ পাঠান

Conversion.update() এ আপনি যে ক্ষেত্রগুলি নির্দিষ্ট করেন তার বেশিরভাগই আপনি যে রূপান্তরগুলি আপডেট করতে চান তা সনাক্ত করতে ব্যবহৃত হয়৷ আপনি একটি বিদ্যমান রূপান্তর সনাক্ত করতে নিম্নলিখিত কৌশলগুলি ব্যবহার করতে পারেন:

  • রূপান্তরের clickId উল্লেখ করুন
    • ক্লিক আইডি তৈরি হওয়ার 60 দিনের মধ্যে সম্পাদিত সমস্ত রূপান্তর হতে হবে।
  • রূপান্তরের criterionId (কীওয়ার্ড আইডি) নির্দিষ্ট করুন

উভয় কৌশলের জন্য আপনাকে রূপান্তরের conversionId , conversionTimestamp এবং লেনদেনের type নির্দিষ্ট করতে হবে।

উপরন্তু, যদি আসল রূপান্তরটি revenueMicros এবং currencyCode বা quantityMillis নির্দিষ্ট করে থাকে, তাহলে আপডেটের অনুরোধে এই ডেটা নির্দিষ্ট করতে হবে এমনকি আপনি এটি পরিবর্তন না করলেও।

ক্লিক আইডি দ্বারা রূপান্তর সনাক্ত করুন

যদি একটি রূপান্তর মূলত একটি ক্লিক আইডি নির্দিষ্ট করে, আপনি একটি Conversion.update() অনুরোধ পাঠাতে পারেন যা নিম্নলিখিত ক্ষেত্রগুলি নির্দিষ্ট করে:

  • clickId
  • conversionId
  • conversionTimestamp
  • type
  • state (কেবলমাত্র প্রয়োজন যদি আপনি রাজ্যটিকে সরানো বা সক্রিয় করতে চান)
  • quantityMillis (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা হয়)
  • revenueMicros (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা থাকে)
  • currencyCode (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা থাকে)

উদাহরণ

এখানে দুটি বিদ্যমান রূপান্তরের একটি উদাহরণ:

{
 "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"
  }]
}     

নিম্নলিখিত অনুরোধটি পূর্ববর্তী উদাহরণ থেকে একটি রূপান্তর আপডেট করে এবং অন্যটিকে সরিয়ে দেয়:

JSON

মনে রাখবেন যে একটি Conversion.update() অনুরোধ PUT HTTP পদ্ধতি ব্যবহার করে।

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"
  }
 ]
}        

জাভা

/**
 * 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;
  }         

পাইথন

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())

কীওয়ার্ড আইডি দ্বারা রূপান্তর সনাক্ত করুন

আপনার যদি একটি ক্লিক আইডিতে অ্যাক্সেস না থাকে, অথবা যদি একটি রূপান্তরটি মূলত একটি কীওয়ার্ড বা কীওয়ার্ড/বিজ্ঞাপনের জন্য দায়ী করা হয়, তাহলে আপনি একটি Conversion.update() অনুরোধ পাঠাতে পারেন যা নিম্নলিখিত ক্ষেত্রগুলিকে নির্দিষ্ট করে:

  • criterionId (কীওয়ার্ড আইডি)
  • conversionId
  • conversionTimestamp
  • type
  • state (কেবলমাত্র প্রয়োজন যদি আপনি রাজ্যটিকে সরানো বা সক্রিয় করতে চান)
  • quantityMillis (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা হয়)
  • revenueMicros (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা থাকে)
  • currencyCode (শুধুমাত্র যদি মূল রূপান্তরে উল্লেখ করা থাকে)

আপনি ঐচ্ছিকভাবে অন্যান্য আইডি নির্দিষ্ট করতে পারেন, যেমন রূপান্তরের বিজ্ঞাপন আইডি, ক্যাম্পেইন আইডি, এবং আরও অনেক কিছু, কিন্তু আপনার প্রয়োজন নেই৷ একটি বিদ্যমান রূপান্তর শনাক্ত করতে Search Ads 360-এর শুধুমাত্র উপরের তালিকায় থাকা আইডিগুলির প্রয়োজন।

উদাহরণ

এখানে একটি বিদ্যমান রূপান্তরের একটি উদাহরণ:

{
 "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"
  }]
}     

নিম্নলিখিত অনুরোধটি রূপান্তরের টাইমস্ট্যাম্প আপডেট করে:

JSON

মনে রাখবেন যে একটি Conversion.update() অনুরোধ PUT HTTP পদ্ধতি ব্যবহার করে।

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"
  }
 ]
}        

জাভা

    // 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;
   }                 

পাইথন

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())

অনুসন্ধান বিজ্ঞাপন 360 প্রতিক্রিয়া পরিচালনা করুন

একটি আপডেটের অনুরোধের প্রতিক্রিয়া একটি সন্নিবেশের অনুরোধের প্রতিক্রিয়ার মতোই: অনুসন্ধান বিজ্ঞাপন 360 শুধুমাত্র তখনই সাফল্য নির্দেশ করে যখন অনুরোধের সমস্ত রূপান্তর সফলভাবে আপডেট করা হয়।

অনুরোধটি সফল হলে, প্রতিক্রিয়ায় প্রতিটি আপডেট করা রূপান্তরের জন্য সম্পূর্ণ অনুসন্ধান বিজ্ঞাপন 360 অভ্যন্তরীণ উপস্থাপনা অন্তর্ভুক্ত থাকে, যেমন ক্যাম্পেইন আইডি, বিজ্ঞাপন গ্রুপ আইডি এবং কীওয়ার্ড (মাপদণ্ড) আইডি।

যদি এক বা একাধিক আপডেট যাচাই বা আপলোড করতে ব্যর্থ হয়, প্রতিক্রিয়া প্রতিটি ব্যর্থ আপডেটের জন্য ব্যর্থতার বার্তা অন্তর্ভুক্ত করে। উত্তরে সফলভাবে আপডেট হওয়া রূপান্তর সম্পর্কে বার্তা নেই। এই ব্যর্থতার বার্তাগুলি সম্পর্কে আরও তথ্যের জন্য, সন্নিবেশের অনুরোধের জন্য অনুসন্ধান বিজ্ঞাপন 360 প্রতিক্রিয়াগুলি পরিচালনা করুন দেখুন৷