API সীমা ও কোটা

Google Ads API, API অপারেশনের উপর সীমা আরোপ করে, যেমন একটি মিউটেট অনুরোধে পাঠানো যেতে পারে এমন অপারেশনের সংখ্যা। নিম্নলিখিত সারণীতে কিছু গুরুত্বপূর্ণ সীমা ও কোটার সংক্ষিপ্ত বিবরণ দেওয়া হল, যেগুলি সম্পর্কে আপনাকে সচেতন থাকতে হবে।

অনুরোধের ধরন, সীমাবদ্ধতা ও ত্রুটি কোড
টেস্ট অ্যাক্সেস লেভেল সহ অপারেশন টেস্ট অ্যাকাউন্টের জন্য প্রতিদিন ১৫,০০০ API অপারেশন RESOURCE_EXHAUSTED
এক্সপ্লোরার অ্যাক্সেস লেভেল সহ অপারেশন প্রোডাকশন অ্যাকাউন্টের জন্য প্রতিদিন ২,৮৮০টি API অপারেশন
টেস্ট অ্যাকাউন্টের জন্য প্রতিদিন ১৫,০০০টি API অপারেশন
RESOURCE_EXHAUSTED
প্রাথমিক অ্যাক্সেস লেভেল সহ অপারেশন টেস্ট ও প্রোডাকশন অ্যাকাউন্ট, দুটির ক্ষেত্রেই প্রতিদিন ১৫,০০০ API অপারেশন RESOURCE_EXHAUSTED
অ্যাক্সেসের স্ট্যান্ডার্ড পদ্ধতি লেভেল সহ অপারেশন টেস্ট ও প্রোডাকশন অ্যাকাউন্ট, দুটির ক্ষেত্রেই প্রতিদিন আনলিমিটেড API অপারেশন করা যাবে প্রযোজ্য নয়
মিউটেট রিকোয়েস্ট প্রতিটি অনুরোধে ১০,০০০টি মিউটেট অপারেশন TOO_MANY_MUTATE_OPERATIONS
প্ল্যানিং পরিষেবার অনুরোধ ১টি QPS RESOURCE_EXHAUSTED
কনভার্সন আপলোড পরিষেবার অনুরোধ প্রতি অনুরোধে ২,০০০টি কনভার্সন TOO_MANY_CONVERSIONS_IN_REQUEST
বিলিং ও অ্যাকাউন্ট বাজেট পরিষেবা সংক্রান্ত অনুরোধ প্রতিটি মিউটেট রিকোয়েস্টে ১টি অপারেশন TOO_MANY_MUTATE_OPERATIONS

দৈনিক API অপারেশন সীমা

দৈনিক API ব্যবহারের সীমা আপনার Google Cloud প্রোজেক্টের মাধ্যমে করা API অপারেশনের সংখ্যার উপর ভিত্তি করে নির্ধারিত হয়। API অপারেশন হল Search এবং SearchStream অনুরোধ, স্বতন্ত্র মিউটেট অপারেশন এবং অন্যান্য পরিষেবা অনুরোধের মোট যোগফল। দৈনিক API অপারেশনের সীমা আপনার Google Cloud প্রোজেক্টের API অ্যাক্সেস লেভেলের উপর নির্ভর করে। অ্যাক্সেস লেভেল এবং অনুমোদিত ব্যবহারের নির্দেশিকা প্রতিটি অ্যাক্সেস লেভেলের জন্য নির্দিষ্ট API অপারেশন সীমা আউটলাইন করে।

এইসব সীমা লঙ্ঘন করে এমন অনুরোধ এই সমস্যার সাথে বাতিল করা হয়: RESOURCE_EXHAUSTED.

gRPC সংক্রান্ত সীমাবদ্ধতা

Google Ads API-এর সব ক্লায়েন্ট লাইব্রেরি অনুরোধ ও উত্তর জেনারেট করার জন্য gRPC ব্যবহার করে। ডিফল্ট হিসেবে, gRPC-এর মেসেজের সাইজ ৪ এমবি, কিন্তু আমাদের ক্লায়েন্ট লাইব্রেরি মেসেজের সর্বাধিক সাইজ ৬৪ এমবি হিসেবে সেট করে যাতে কার্যকারিতা বাড়ানো যায়।

উত্তর এই সীমা অতিক্রম করলে চলবে না। যেমন, অনেক ফিল্ড সহ সার্চের অনুরোধের ফলে এমন উত্তর জেনারেট হতে পারে যার সাইজ ৬৪ এমবির বেশি। এই সীমা এড়াতে, আপনি বেছে নেওয়া ফিল্ডের সংখ্যা কমাতে পারেন অথবা স্ট্রিমিং ব্যবহার করতে পারেন। মিউটেটের জন্য, প্রতিটি অনুরোধে কম অপারেশন পাঠান।

এই সীমাবদ্ধতা লঙ্ঘন করে এমন অনুরোধের ক্ষেত্রে GoogleAdsError জেনারেট হবে না, কিন্তু RESOURCE_EXHAUSTED (gRPC কোড 8 / HTTP 429) সংক্রান্ত সমস্যা জেনারেট হবে। gRPC সমস্যার কোড ও মেসেজের তালিকা দেখুন।

মিউটেট রিকোয়েস্ট

ব্যবহারকারীর দৈনিক অপারেশন কোটার পাশাপাশি, একটি মিউটেট অনুরোধে প্রতি অনুরোধে ১০,০০০-এর বেশি মিউটেট অপারেশন থাকতে পারে না। এই সীমাবদ্ধতা লঙ্ঘন করে এমন অনুরোধ এই সমস্যার সাথে বাতিল করা হয়: TOO_MANY_MUTATE_OPERATIONS.

নির্দিষ্ট পরিষেবা এবং অনুরোধের ধরনের জন্য অতিরিক্ত সীমা এবং বিবেচনার বিষয়গুলি নিচে উল্লেখ করা হয়েছে।

অনুরোধ সার্চ করুন

Search বা SearchStream অনুরোধ ব্যবহারকারীর দৈনিক অপারেশন কোটার একটি অপারেশন হিসেবে গণনা করা হয়। একটি SearchStream অনুরোধ একটি API অপারেশন হিসেবে গণ্য করা হয়, ব্যাচের সংখ্যা যাই হোক না কেন।

পৃষ্ঠা সংখ্যা অনুযায়ী অনুরোধ

পৃষ্ঠা সংখ্যাযুক্ত অনুরোধ (যেমন, সঠিক next_page_token সহ অনুরোধ) ব্যবহারকারীর দৈনিক অপারেশন কোটার মধ্যে গণনা করা হয় না। তবে, মেয়াদ শেষ হয়ে যাওয়া বা ভুল পৃষ্ঠা টোকেন সহ পেজিনেশন অনুরোধের ক্ষেত্রে ব্যতিক্রম তৈরি হবে এবং দৈনিক অপারেশন কোটার মধ্যে তা গণনা করা হবে।

পেজিনেশন সম্পর্কে আরও জানতে, ফলাফলের মাধ্যমে পেজিং দেখুন।

অন্যান্য ধরনের অনুরোধ

Mutate, Search বা SearchStream অনুরোধ নয় এমন অনুরোধ ব্যবহারকারীর দৈনিক অপারেশন কোটার একটি অপারেশন হিসেবে গণনা করা হয়।

এই ধরনের অনুরোধের কিছু উদাহরণ হল:

API এক্সেপশন রিটার্ন করে এমন অনুরোধ

GoogleAdsFailure-এর কারণে বাতিল করা অনুরোধ এখনও ব্যবহারকারীর দৈনিক অপারেশন কোটার বিপরীতে গণনা করা হয়।

যেসব অনুরোধ ব্যর্থ হয় কিন্তু GoogleAdsFailure দেখায় না, যেমন নেটওয়ার্ক লেভেলে কোনও সমস্যার কারণে, সেগুলি ব্যবহারকারীর দৈনিক অপারেশন কোটার মধ্যে ধরা হবে না কারণ অনুরোধগুলি কখনই পরিষেবায় পৌঁছাবে না। এর একটি উদাহরণ হল নেটওয়ার্ক কানেক্টিভিটি কাজ না করা।

কীওয়ার্ড প্ল্যানিং পরিষেবা

খরচ ও জটিলতার কারণে, নিম্নলিখিত কীওয়ার্ড প্ল্যানিং পরিষেবা পদ্ধতিগুলি অন্যান্য ধরনের অনুরোধ থেকে আলাদা সীমার সাপেক্ষে।

কীওয়ার্ড প্ল্যান তৈরি করার সময় এই সীমাগুলি মনে রাখবেন।

কীওয়ার্ড প্ল্যান অবজেক্ট সর্বাধিক সংখ্যা
অ্যাকাউন্ট প্রতি KeywordPlan ১০,০০০
KeywordPlan পিছু KeywordPlanAdGroup 200
KeywordPlan পিছু KeywordPlanAdGroupKeyword ১০,০০০
প্রতি KeywordPlan-এ KeywordPlanCampaignKeyword (নেগেটিভ কীওয়ার্ড) ১,০০০
KeywordPlan পিছু KeywordPlanCampaign 1

অডিয়েন্স ইনসাইট পরিষেবা

AudienceInsightsService-এর মধ্যে নিম্নলিখিত পদ্ধতিগুলি নির্দিষ্ট কোটা সীমার অধীন।

কনভার্সন আপলোড পরিষেবা

কনভার্সন অ্যাডজাস্টমেন্ট আপলোড পরিষেবা

কনভার্সন ভ্যালু সংক্রান্ত নিয়ম

  • প্রতি অ্যাকাউন্টে ১,০০,০০০ কনভার্সন ভ্যালু সংক্রান্ত নিয়ম সীমাবদ্ধ।

    এই সীমা লঙ্ঘন করে এমন অনুরোধ ResourceCountLimitExceededError.ACCOUNT_LIMIT সমস্যার কারণে বাতিল করা হয়।

অ্যাকাউন্টে আগে থেকেই CUSTOMER-এর attachment_type সহ ConversionValueRuleSet থাকলে, সেটি অ্যাক্টিভ করার জন্য আপনাকে সেই সেটে যেকোনও নতুন কনভার্সন ভ্যালু রুল যোগ করতে হবে। এই ধরনের কোনও কনভার্সন ভ্যালু সংক্রান্ত নিয়মের সেট না থাকলে, আপনাকে একটি তৈরি করতে হবে এবং নিয়মের সেট তৈরি করুন-এ যেভাবে বর্ণনা করা হয়েছে সেই অনুযায়ী আপনার কনভার্সন ভ্যালু সংক্রান্ত নিয়ম এতে যোগ করতে হবে।

বিলিং ও অ্যাকাউন্ট বাজেট পরিষেবা

  • মাসিক ইনভয়েসের জন্য কনফিগার করা অ্যাকাউন্টের ক্ষেত্রেই শুধু মিউটেট করা যাবে।

    এই সীমাবদ্ধতা লঙ্ঘন করে এমন অনুরোধ এই সমস্যার সাথে বাতিল করা হয়: MUTATE_NOT_ALLOWED.

  • মিউটেট রিকোয়েস্টের জন্য শুধুমাত্র ১টি অপারেশন করার অনুমতি দেওয়া হয়।

    এই সীমাবদ্ধতা লঙ্ঘন করে এমন অনুরোধ এই সমস্যার সাথে বাতিল করা হয়: TOO_MANY_MUTATE_OPERATIONS.

  • একই অ্যাকাউন্টের জন্য অ্যাকাউন্ট বাজেট (AccountBudget অথবা AccountBudgetProposal) পরিবর্তন করার মধ্যে আপনাকে অন্তত ১২ ঘণ্টা অপেক্ষা করতে হবে। ১২ ঘণ্টা হওয়ার আগে পরিবর্তন করলে, এমন সমস্যা হতে পারে যা সমাধান করা যাবে না এবং শুধুমাত্র আপনার Google Ads অ্যাকাউন্টের প্রতিনিধিই তা সমাধান করতে পারবেন।

গ্রাহক অ্যাকাউন্টে আমন্ত্রণ

CustomerUserAccessInvitationService-এর মাধ্যমে আগে থেকে থাকা ক্লায়েন্ট অ্যাকাউন্টে নতুন ব্যবহারকারীদের আমন্ত্রণ জানানো যেতে পারে। এই ফিচারটি অন্যান্য ব্যবহারকারীদের আমন্ত্রণের ইমেল পাঠায় বলে, এটির অপব্যবহার হওয়ার সম্ভাবনা থাকে এবং তাই এর আচরণে সীমাবদ্ধতা আছে:

  • একই ক্লায়েন্ট অ্যাকাউন্টের জন্য ব্যবহারকারীরা একাধিক পেন্ডিং আমন্ত্রণ পেতে পারবেন না। কোনও ব্যবহারকারীর কাছে আগে থেকেই একটি আমন্ত্রণ পেন্ডিং থাকলে, তাকে আবার আমন্ত্রণ পাঠানোর অনুরোধ করা হলে, এই সমস্যাটি দেখা যায়: EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.

  • ক্লায়েন্ট অ্যাকাউন্টে একবারে ৭০টির বেশি আমন্ত্রণ পেন্ডিং থাকতে পারে না। এই ভ্যালু অতিক্রম করে এমন কোনও অনুরোধ পাঠানো হলে, এই সমস্যা দেখা যায়: PENDING_INVITATIONS_LIMIT_EXCEEDED।

ব্যবহারকারীর ডেটা

ব্যবহারকারীর ডেটা UserDataService এবং OfflineUserDataJobService অনুযায়ী ম্যানেজ করা হয়।

create বা remove অপারেশনে প্রতিটি UserData অবজেক্ট একজন ব্যবহারকারীর সাথে সম্পর্কিত। একটি UserData অবজেক্টের মধ্যে user_identifiers ফিল্ডে সর্বাধিক ২০টি আইডেন্টিফায়ার থাকতে পারে। একটি UserData অবজেক্টে এই সীমা অতিক্রম করলে OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS বা UserDataError.TOO_MANY_USER_IDENTIFIERS সমস্যা হবে।

২০টির বেশি শনাক্তকারী সহ ব্যবহারকারীদের ম্যানেজ করা

কোনও একজন ব্যবহারকারীর ২০টির বেশি শনাক্তকারী থাকলে, আপনাকে সেগুলি আপলোড করতে হবে, এক্ষেত্রে আপনাকে এইসব শনাক্তকারী একাধিক UserData অবজেক্টে ডিস্ট্রিবিউট করতে হবে। Google যাতে এইসব শনাক্তকারীকে একই ব্যবহারকারীর সাথে যুক্ত করতে পারে, সেই জন্য সেই ব্যবহারকারীর প্রতিটি UserData অবজেক্টে অন্তত একটি সাধারণ user_identifier থাকতে হবে, যেমন একই hashed_email, hashed_phone_number বা third_party_user_id। Google এই শেয়ার করা শনাক্তকারী ব্যবহার করে আলাদা UserData অপারেশন থেকে পাওয়া তথ্য সঠিক ব্যবহারকারীর প্রোফাইলের সাথে লিঙ্ক ও মার্জ করে।

আপনি যদি হ্যাশ করা ইমেল বা ফোন নম্বরের মতো PII-এর উপর নির্ভর করেন, তাহলে নিশ্চিত করুন যে সেগুলি Google Ads API-এর প্রয়োজনীয়তা (SHA-256, ছোট হাতের অক্ষর, কোনও হোয়াইটস্পেস নেই) অনুযায়ী নরমালাইজ এবং হ্যাশ করা হয়েছে যাতে লিঙ্কেজ ব্যর্থতা প্রতিরোধ করা যায়।

যেমন, কোনও ব্যবহারকারীর ৩০টি ইমেল আইডি থাকলে, আপনি দুটি UserData অবজেক্ট পাঠাতে পারেন যেগুলি একটি সাধারণ third_party_user_id শেয়ার করে (thirdPartyUserId ২০টি শনাক্তকারীর সীমার মধ্যে থাকতে প্রথম অবজেক্টে ১ থেকে ১৯ পর্যন্ত ইমেল এবং thirdPartyUserId দ্বিতীয় অবজেক্টে ২০ থেকে ৩০ পর্যন্ত ইমেল যোগ করে):

{
  "userIdentifiers": [
    { "thirdPartyUserId": "user123" },
    { "hashedEmail": "SHA256_OF_EMAIL_1" },
    // Hashed emails 2 through 18 are omitted here.
    { "hashedEmail": "SHA256_OF_EMAIL_19" }
  ]
}
{
  "userIdentifiers": [
    { "thirdPartyUserId": "user123" },
    { "hashedEmail": "SHA256_OF_EMAIL_20" },
    // Hashed emails 21 through 29 are omitted here.
    { "hashedEmail": "SHA256_OF_EMAIL_30" }
  ]
}

একটি AddOfflineUserDataJobOperationsRequest-এ সব অপারেশন জুড়ে user_identifiers-এর মোট সীমা হল ১০০,০০০ (একটি OfflineUserDataJob একাধিক AddOfflineUserDataJobOperationsRequest কল গ্রহণ করতে পারে, প্রতিটি জবের জন্য সর্বাধিক ১,০০০,০০০ অপারেশন পর্যন্ত)। UploadUserDataRequest (UserDataService.UploadUserData) ব্যবহার করে সিঙ্ক্রোনাস আপলোডের জন্য, প্রতিটি অনুরোধ সর্বাধিক ১০টি অপারেশন এবং সম্পূর্ণ অনুরোধ জুড়ে ১০০টি user_identifiers-এর মধ্যে সীমাবদ্ধ।

অন্যান্য ধরনের সীমা

একটি পুনরাবৃত্ত ফিল্ড, যেমন অপারেশনের তালিকা, যাতে একটি অনুরোধে অনেক আইটেম আছে, তাতে এই সমস্যা হতে পারে: REQUEST_SIZE_LIMIT_EXCEEDED. অন্যান্য সমস্যার কারণেও এই একই সমস্যার মেসেজ দেখানো হতে পারে।

আপনি যদি এই সীমাবদ্ধতার সম্মুখীন হন এবং এমন অনুরোধ করেন যা একটি পুনরাবৃত্ত ফিল্ড ব্যবহার করে, তাহলে একাধিক মিউটেট অনুরোধ জুড়ে অপারেশনের তালিকা বিভক্ত করে পুনরাবৃত্ত ফিল্ডে আইটেমের সংখ্যা কমানোর চেষ্টা করুন।

GAQL কোয়েরি করার সময়, IN ক্লজের মধ্যে সর্বাধিক ২০,০০০টি আইটেম থাকতে পারে। আপনি সেই সীমা অতিক্রম করলে, একটি FILTER_HAS_TOO_MANY_VALUES সমস্যা রিটার্ন করা হয়।