গোপনীয়তা ও মেসেজিং জাভাস্ক্রিপ্ট API

ভূমিকা

এই API, গোপনীয়তা ও মেসেজিং ট্যাবের মাধ্যমে অফার করা মেসেজের সাথে ইন্টার‍্যাক্ট করার জন্য টুল প্রদান করে। এর মাধ্যমে আপনি এগুলি করতে পারবেন:

এবং আরও অনেক কিছু।

এছাড়াও, আপনি শিল্পের নির্ধারিত মান প্রোটোকল ব্যবহার করে ব্যবহারকারীর সম্মতি সংগ্রহ করতে এইসব টুল ব্যবহার করতে পারেন:

এইসব ক্ষেত্রে, সম্মতি সংক্রান্ত স্ট্যাটাস এইসব API-এর মাধ্যমে জানানো হয়।

আপনি নিজের সাইটে এই ব্যবহারকারী মেসেজিং কার্যকারিতা কয়েকটি উপায়ে প্রয়োগ করতে পারেন:

  1. বেশিরভাগ ক্ষেত্রে, আপনাকে একেবারেই আবার ট্যাগ করতে হবে না - আপনার আগে থেকে থাকা Google প্রকাশক ট্যাগ বা AdSense ট্যাগ প্রাসঙ্গিক প্রোডাক্টে মেসেজ প্রকাশ করার পরে ব্যবহারকারীর মেসেজ ডিপ্লয় করে।
  2. আপনি অ্যাড ব্লকিং রিকভারি মেসেজ ব্যবহার করলে, আপনার পৃষ্ঠায় অ্যাড ব্লকিং ট্যাগ স্পষ্টভাবে যোগ করতে হবে। আরও তথ্যের জন্য Ad Manager এবং AdSense ট্যাগিং নির্দেশাবলী দেখুন।

googlefc হল গ্লোবাল নেমস্পেস যা ব্যবহারকারীর মেসেজিং কার্যকারিতা জাভাস্ক্রিপ্ট Window-এ তার API-এর জন্য ব্যবহার করে।

ফিল্ডের সারসংক্ষেপ

নাম ধরন সংজ্ঞা
googlefc.controlledMessagingFunction function(!Object) কোনও মেসেজিং নিয়ে এগিয়ে যাওয়া হবে কিনা তা নির্ধারণ করার ফাংশন। এই কার্যকারিতা সব ধরনের মেসেজের ক্ষেত্রে কাজ করে।
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue ব্যবহারকারীর মেসেজিং কোয়েরির অ্যাসিঙ্ক্রোনাস এক্সিকিউশনের জন্য কলব্যাক কিউয়ের রেফারেন্স।
googlefc.CallbackQueue !Object কলব্যাক কিউ অবজেক্টের ধরন।
googlefc.AdBlockerStatusEnum !Object<string, number> ব্যবহারকারীর অ্যাড ব্লকার স্টেট দেখানোর জন্য একটি enum।
googlefc.AllowAdsStatusEnum !Object<string, number> ব্যবহারকারীর বিজ্ঞাপন দেখানোর অনুমতি সংক্রান্ত স্ট্যাটাস দেখানোর জন্য enum।
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum !Object<string, number> ব্যবহারকারীর প্রাথমিক মার্কিন যুক্তরাষ্ট্রের স্টেট অপ্ট-আউট স্ট্যাটাস দেখানোর জন্য একটি enum। এটি ব্যবহারকারী মার্কিন যুক্তরাষ্ট্রের কোন রাজ্যে আছেন তা বিবেচনা করে।
googlefc.GoogleFcConsentModeUserStatus !Object googlefc.getGoogleConsentModeValues-এর জন্য রিটার্ন টাইপ।
googlefc.ConsentModePurposeStatusEnum !Object<string, number> সম্মতি মোডের উদ্দেশ্যে ব্যবহারকারীর সিদ্ধান্ত দেখানোর জন্য একটি enum।
googlefc.usstatesoptout.overrideDnsLink undefined|boolean একটি বুলিয়ান যা আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার জন্য 'সত্য' হিসেবে সেট করা যেতে পারে।
googlefc.ccpa.InitialCcpaStatusEnum

লিগ্যাসি। googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum পছন্দ করুন।
!Object<string, number> ব্যবহারকারীর প্রাথমিক মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন স্ট্যাটাস দেখানোর জন্য একটি enum।
googlefc.ccpa.overrideDnsLink

লিগ্যাসি। googlefc.usstatesoptout.overrideDnsLink পছন্দ করুন।
undefined|boolean একটি বুলিয়ান যা আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার জন্য 'সত্য' হিসেবে সেট করা যেতে পারে।

পদ্ধতির সারসংক্ষেপ

নাম রিটার্ন টাইপ সংজ্ঞা
googlefc.showRevocationMessage() অনির্দিষ্ট সম্মতির রেকর্ড মুছে দেয় এবং ব্যবহারকারীর জন্য প্রযোজ্য সম্মতির মেসেজ দেখানোর জন্য googlefc স্ক্রিপ্ট আবার লোড করে।
googlefc.getAdBlockerStatus() নম্বর ব্যবহারকারীর অ্যাড ব্লকিং স্ট্যাটাসের উপর নির্ভর করে AdBlockerStatusEnum-এ একটি ভ্যালু দেখায়।
googlefc.getAllowAdsStatus() নম্বর ব্যবহারকারীর বিজ্ঞাপন-অনুমতি স্ট্যাটাসের উপর নির্ভর করে AllowAdsStatusEnum-এ একটি মান প্রদান করে।
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() নম্বর ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের রাজ্যগুলির রেগুলেশন সংক্রান্ত প্রাথমিক অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialUsStatesOptOutStatusEnum-এ একটি ভ্যালু দেখায়। ব্যবহারকারীর বর্তমান লোকেশনের ভিত্তিতে তার উপর প্রযোজ্য রেগুলেশনকে এটি বিবেচনা করে।
googlefc.usstatesoptout.openConfirmationDialog(function(boolean)) অনির্দিষ্ট ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট কনফার্মেশন ডায়ালগ খোলে।
googlefc.getGoogleConsentModeValues() !Object ব্যবহারকারীর জন্য বর্তমান সম্মতি মোড ভ্যালু সহ একটি googlefc.GoogleFcConsentModeUserStatus অবজেক্ট রিটার্ন করে, প্রতিটি উপলভ্য সম্মতি মোডের উদ্দেশ্যের জন্য একটি।
googlefc.ccpa.getInitialCcpaStatus()

লিগ্যাসি। googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()-কে অগ্রাধিকার দিন।
নম্বর ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের রাজ্যগুলির রেগুলেশন সংক্রান্ত প্রাথমিক অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialCcpaStatusEnum-এ একটি ভ্যালু দেখায়।
googlefc.ccpa.openConfirmationDialog(function(boolean))

লিগ্যাসি। googlefc.usstatesoptout.openConfirmationDialog()-কে অগ্রাধিকার দিন।
অনির্দিষ্ট ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট কনফার্মেশন ডায়ালগ খোলে।

আপনার সাইটে টেস্ট ও ডিবাগ করা

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

পূর্বশর্ত:

  • আপনি যে মেসেজের প্রিভিউ দেখতে চান, সেটি অবশ্যই আপনার সাইটে প্রকাশ করতে হবে যেটি আপনি পরীক্ষা করছেন

নিম্নলিখিত ডিবাগিং URL প্যারামিটার ব্যবহার করে আপনি নিজের সাইটে লাইভ প্রিভিউ দেখতে পারবেন:

ডিবাগ প্যারামিটার অনুমোদিত ভ্যালু
fc alwaysshow (ডিবাগ/প্রিভিউ মোড ট্রিগার করতে)
fctype ab (অ্যাড ব্লকিং মেসেজ), ccpa (মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট মেসেজ), gdpr (জিডিপিআর (GDPR) কনসেন্ট মেসেজ), monetization (অফারওয়াল মেসেজ), usfl (মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট মেসেজ, ফ্লোরিডার জন্য নির্দিষ্ট), usnat (মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট মেসেজ, ফ্লোরিডা বাদে সব উপযুক্ত স্টেটের জন্য; ccpa-এর সমতুল্য)

আপনার সাইটে (foo.com) এটি কীভাবে প্রিভিউ করবেন তার কিছু উদাহরণ:

  • মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট মেসেজিং টেস্ট করুন -- http://foo.com/?fc=alwaysshow&fctype=ccpa
  • জিডিপিআর (GDPR) মেসেজিং পরীক্ষা করুন -- http://foo.com/?fc=alwaysshow&fctype=gdpr

ফিল্ড: ব্যাখ্যা ও উদাহরণ

googlefc.controlledMessagingFunction {function(!Object)}

মেসেজ দেখানো উচিত কিনা তা নির্ধারণ করার ফাংশন। এটি প্রকাশকের উল্লেখ করা শর্ত যেমন সাবস্ক্রাইবারের স্ট্যাটাস বা পৃষ্ঠার URL-এর ভিত্তিতে মেসেজ রেন্ডারিং গেট করতে ব্যবহার করা যেতে পারে।

অন্য স্ক্রিপ্ট লোড হওয়ার আগে উইন্ডোতে googlefc.controlledMessagingFunction সংজ্ঞায়িত করলে, আপনি message.proceed(boolean) কল না করা পর্যন্ত মেসেজ দেখানো হয় না। message.proceed(true) কল করলে মেসেজিং স্বাভাবিকভাবে চালিয়ে যাওয়া যায়, তবে message.proceed(false) কল করলে পৃষ্ঠা দেখার জন্য কোনও মেসেজ দেখানো হয় না।

উদাহরণ: ধরুন, আপনার পৃষ্ঠায় এই স্ক্রিপ্ট আছে যা একটি অ্যাসিঙ্ক ফাংশন determineIfUserIsSubscriber() নির্ধারণ করে। এটি চেক করে দেখে যে লগ-ইন করা ব্যবহারকারী সাবস্ক্রাইবার কিনা।

<head>
  <script>
    window.isSubscriber = undefined;
    function determineIfUserIsSubscriber() {
      if (isSubscriber !== undefined) {
        return isSubscriber;
      }
      return new Promise(resolve => {
        setTimeout(() => {
          // Change this to true if you want to test what subscribers would see.
          window.isSubscriber = false;
          resolve(window.isSubscriber);
        }, 1000);
      });
    }
  </script>
</head>

এটি একটি উদাহরণ যে কীভাবে আপনি googlefc.controlledMessagingFunction ব্যবহার করে শুধুমাত্র সাবস্ক্রাইবার নন এমন ব্যক্তিদের মেসেজ দেখাতে পারবেন।

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
      // Determine if the user is a subscriber asynchronously.
      const isSubscriber = await determineIfUserIsSubscriber();

      if (isSubscriber) {
        // If the user is a subscriber, don't show any messages.
        message.proceed(false);
      } else {
        // Otherwise, show messages as usual.
        message.proceed(true);
      }
    }
  </script>
</head>

এছাড়াও, এই ফিচারের একটি এক্সটেনশন আছে যা প্রকাশকদের নির্দিষ্ট করতে দেয় যে শুধুমাত্র নির্দিষ্ট ধরনের মেসেজই দমন করা উচিত। অন্যান্য মেসেজের ধরন দমন না করে নির্দিষ্ট মেসেজের ধরন দমন করতে এই ফিচার এক্সটেনশন ব্যবহার করুন।

মেসেজের ধরন-নির্দিষ্ট কন্ট্রোল করা মেসেজিং message.proceed()-এ অতিরিক্ত প্যারামিটার পাস করার মাধ্যমে অর্জন করা হয়, googlefc.MessageTypeEnum ধরনের একটি Array।

উদাহরণ: এটি হল googlefc.controlledMessagingFunction ব্যবহার করার একটি উদাহরণ, অন্যান্য মেসেজের ধরন বন্ধ না করে, শুধুমাত্র সাবস্ক্রাইবারদের জন্য Offerwall দেখানো বন্ধ করার জন্য:

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
     // Determine if the Offerwall should display or not.
     const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
     const applicableMessageTypes = [];

     if (!shouldDisplayOfferwall) {
       // Do not show the Offerwall, but allow other message types to display.
       applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
       message.proceed(false, applicableMessageTypes);
     } else {
       // Otherwise, show messages as usual.
       message.proceed(true);
     }
    }
  </script>
</head>

googlefc.callbackQueue {!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue}

মেসেজিং-সম্পর্কিত কলের অ্যাসিঙ্ক্রোনাস এক্সিকিউশনের জন্য গ্লোবাল কলব্যাক কিউয়ের রেফারেন্স। কোনও ফাংশন চালু করার একমাত্র উপায় হল সেটিকে callbackQueue-এ যোগ করা।

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

যেসব কী কাজ করে:

'কী'-এর নাম ব্যবহার আপেক্ষিক লেটেন্সি
CONSENT_API_READY CONSENT_API_READY কী-এর মাধ্যমে কলব্যাক সারিতে পুশ করা ফাংশনগুলি তখনই কার্যকর করা হয় যখন কাজ করে এমন সম্মতি ফ্রেমওয়ার্কের জন্য APIগুলি সংজ্ঞায়িত এবং কল করার যোগ্য হয়। এই পয়েন্ট থেকে, পরে যোগ করা যেকোনও CONSENT_API_READY-কীড ফাংশন সিঙ্ক্রোনাস হয়। ফ্রেমওয়ার্ক-নির্দিষ্ট বিবরণের জন্য IAB ফ্রেমওয়ার্ক সংক্রান্ত বিভাগ দেখুন। কম
CONSENT_DATA_READY CONSENT_DATA_READY কী সহ কলব্যাক সারিতে পুশ করা ফাংশনগুলি তখনই কার্যকর করা হয় যখন সমর্থিত সম্মতি ফ্রেমওয়ার্কের অধীনে সংগৃহীত ব্যবহারকারীর সম্মতি জানা যায় (হয় পূর্ববর্তী কার্যকর করা থেকে বা ব্যবহারকারী সম্মতি মেসেজের সাথে ইন্টার‍্যাক্ট করার পরে)। এই পয়েন্ট থেকে, পরে যোগ করা যেকোনও CONSENT_DATA_READY-কীড ফাংশন সিঙ্ক্রোনাস হয়। বেশি
AD_BLOCK_DATA_READY AD_BLOCK_DATA_READY কী সহ কলব্যাক সারিতে পুশ করা ফাংশনগুলি ফ্লোতে বিজ্ঞাপন ব্লক করার ডেটা উপলভ্য হলে কার্যকর করা হয়। এই পয়েন্ট থেকে, পরে যোগ করা যেকোনও AD_BLOCK_DATA_READY-কীড ফাংশন সিঙ্ক্রোনাস হয়। বেশি
CONSENT_MODE_DATA_READY CONSENT_MODE_DATA_READY কী সহ কলব্যাক সারিতে পুশ করা ফাংশনগুলি তখনই কার্যকর হয় যখন Google [সম্মতি মোড](https://support.google.com/google-ads/answer/10000067) ডেটা (Google Ads এবং Analytics ট্যাগের সাথে ব্যবহারের জন্য) ফ্লোতে উপলভ্য হয়। সম্মতি মোড ডেটা রেডি হয়ে গেলে, আপনি যেকোনও সময় googlefc.getGoogleConsentModeValues ব্যবহার করে সম্মতি মোড ভ্যালু অ্যাক্সেস করতে পারবেন। মাঝারি
INITIAL_US_STATES_OPT_OUT_DATA_READY INITIAL_US_STATES_OPT_OUT_DATA_READY কী-এর মাধ্যমে কলব্যাক কিউতে পুশ করা ফাংশনগুলি মার্কিন যুক্তরাষ্ট্রের আইন সম্পর্কিত ডেটা ফ্লোতে উপলভ্য হলে কার্যকর করা হয়। মনে রাখবেন যে মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন ডেটার জন্য পরবর্তী যেকোনও অনুরোধ সরাসরি GPP API (__gpp) কল করে পেতে হবে। মাঝারি
INITIAL_CCPA_DATA_READY মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশনের জন্য লিগ্যাসি কী। INITIAL_US_STATES_OPT_OUT_DATA_READY-কে অগ্রাধিকার দিন।

INITIAL_CCPA_DATA_READY কী-এর মাধ্যমে কলব্যাক সারিতে পুশ করা ফাংশনগুলি ফ্লোতে মার্কিন যুক্তরাষ্ট্রের আইন সম্পর্কিত ডেটা উপলভ্য হলে কার্যকর করা হয়। মনে রাখবেন যে মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন ডেটার জন্য পরবর্তী যেকোনও অনুরোধ সরাসরি GPP API (__gpp) কল করে পেতে হবে।
মাঝারি

googlefc.CallbackQueue {!Object}

পদ্ধতির সারসংক্ষেপ:

নাম ধরন প্যারামিটার রিটার্ন টাইপ ভূমিকা
push(data) নম্বর data: ডেটা উপলভ্যতার ধরনগুলির মধ্যে একটি হিসাবে কী এবং এক্সিকিউট করার জন্য জাভাস্ক্রিপ্ট ফাংশন হিসাবে মান সহ একটি কী-ভ্যালু পেয়ার। গ্রহণযোগ্য ডেটা উপলভ্যতা 'কী' হল CONSENT_API_READY, CONSENT_DATA_READY, AD_BLOCK_DATA_READY, INITIAL_US_STATES_OPT_OUT_DATA_READY, CONSENT_MODE_DATA_READY এবং (পুরনো) INITIAL_CCPA_DATA_READY। এখনও পর্যন্ত যতগুলি কমান্ড যোগ করা হয়েছে। এটি অ্যারের বর্তমান দৈর্ঘ্য দেখায়। যে ক্রমে ডেটা উপলভ্য হয়, সেই ক্রমে পাস করা ফাংশনটি কার্যকর করে, তারপরে যে ক্রমে এই ফাংশনগুলি সারিতে যোগ করা হয় সেই ক্রমে কার্যকর করে।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

googlefc.AdBlockerStatusEnum {!Object<string, number>}

ব্যবহারকারীর বিভিন্ন অ্যাড ব্লকিং স্ট্যাটাস দেখায়। বিভিন্ন স্ট্যাটাস হল:

googlefc.AdBlockerStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // The user was running an extension level ad blocker.
  EXTENSION_AD_BLOCKER: 1,
  // The user was running a network level ad blocker.
  NETWORK_LEVEL_AD_BLOCKER: 2,
  // The user was not blocking ads.
  NO_AD_BLOCKER: 3,
};

googlefc.AllowAdsStatusEnum {!Object<string, number>}

ব্যবহারকারীর বিভিন্ন অ্যাড ব্লকিং সাদাতালিকা স্ট্যাটাস দেখায়। বিভিন্ন স্ট্যাটাস হল:

googlefc.AllowAdsStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // User is currently using an ad blocker, was never using an ad blocker, or
  // allowed ads, but not because they saw the Privacy & messaging message.
  ADS_NOT_ALLOWED: 1,
  // User is no longer using an ad blocker after seeing the ad blocking message.
  ADS_ALLOWED: 2,
};

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum{!Object<string, number>}

ব্যবহারকারীর বিভিন্ন মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট স্ট্যাটাস দেখায়। বিভিন্ন স্ট্যাটাস হল:

googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum = {
  // Something failed, status unknown.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.GoogleFcConsentModeUserStatus{!Object}

googlefc.getGoogleConsentModeValues-এর মাধ্যমে ফেরত পাঠানো অবজেক্টের ধরন।

interface GoogleFcConsentModeUserStatus {

  // End user consent decision value for the ad_storage consent mode purpose.
  adStoragePurposeConsentStatus: number;

  // End user consent decision value for the ad_user_data consent mode purpose.
  adUserDataPurposeConsentStatus: number;

  // End user consent decision value for the ad_personalization consent mode purpose.
  adPersonalizationPurposeConsentStatus: number;

  // End user consent decision value for the analytics_storage consent mode purpose.
  analyticsStoragePurposeConsentStatus: number;
}

প্রতিটি ফিল্ডের ভ্যালু হল একটি সংখ্যা যা googlefc.ConsentModePurposeStatusEnum enum ভ্যালুর সাথে সম্পর্কিত।


googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}

সম্মতি মোডের উদ্দেশ্যের জন্য ব্যবহারকারীর সম্মতির বিভিন্ন সম্ভাব্য ভ্যালু দেখায়। বিভিন্ন ভ্যালুগুলি হল:

googlefc.ConsentModePurposeStatusEnum = {
  // Indicates either an error state, or that consent mode data is not ready
  // yet.
  UNKNOWN: 0,
  // Consent is granted for the given consent mode purpose.
  GRANTED: 1,
  // Consent is denied for the given consent mode purpose.
  DENIED: 2,
  // Consent is not applicable for the given consent mode purpose.
  NOT_APPLICABLE: 3,
  // The consent mode purpose has not been configured for use in the Privacy &
  // messaging UI.
  NOT_CONFIGURED: 4
};

googlefc.usstatesoptout.overrideDnsLink{undefined|boolean}

ডিফল্ট 'আমার ব্যক্তিগত তথ্য বিক্রি বা শেয়ার করবেন না' লিঙ্ক লুকাতে এবং আপনার নিজস্ব কাস্টম 'আমার ব্যক্তিগত তথ্য বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করতে এই ফিল্ডটি 'সত্য' হিসেবে সেট করুন। মনে রাখবেন যে এই কার্যকারিতা শুধুমাত্র Ad Manager-এ কাজ করে।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  // Signals that the default DNS link will be overridden.
  googlefc.usstatesoptout.overrideDnsLink = true;
</script>

googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

ব্যবহারকারীর বিভিন্ন মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট স্ট্যাটাস দেখায়। বিভিন্ন স্ট্যাটাস হল:

googlefc.ccpa.InitialCcpaStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // No US state regulation applies to this user.
  CCPA_DOES_NOT_APPLY: 1,
  // A US state regulation applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // A US state regulation applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.ccpa.overrideDnsLink{undefined|boolean}

ডিফল্ট 'আমার ব্যক্তিগত তথ্য বিক্রি বা শেয়ার করবেন না' লিঙ্ক লুকাতে এবং আপনার নিজস্ব কাস্টম 'আমার ব্যক্তিগত তথ্য বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করতে এই ফিল্ডটি 'সত্য' হিসেবে সেট করুন। মনে রাখবেন, আপনি এই ফিল্ডটি true হিসেবে সেট করলে, আপনার সাইটে 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক দেখানোর দায়িত্ব আপনার। এই ফিল্ডটি openConfirmationDialog-এর সাথে একত্রে ব্যবহার করা উচিত। এছাড়াও, "মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন" মেসেজিং কার্যকারিতার জন্য আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার সুবিধা শুধুমাত্র Ad Manager-এ কাজ করে।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {};
  // Signals that the default DNS link will be overridden.
  googlefc.ccpa.overrideDnsLink = true;
</script>

পদ্ধতি: ব্যাখ্যা ও উদাহরণ

googlefc.getConsentStatus(): {number}


googlefc.getConsentedProviderIds(): {!Array<string>}

  1. কল করা হলে এটি এখন সবসময় একটি খালি তালিকা রিটার্ন করে।

googlefc.showRevocationMessage(): {undefined}

বর্তমান EU রেগুলেশন সংক্রান্ত সম্মতি রেকর্ড, যদি থাকে, মুছে দেয় এবং ব্যবহারকারীকে তার সম্মতি সংক্রান্ত সিদ্ধান্ত পরিবর্তন করার অনুমতি দিতে আবার EU রেগুলেশন মেসেজ দেখায়।

উদাহরণ ১: লিঙ্ক সেট-আপ করার সহজ উদাহরণ, যাতে ক্লিক করলে প্রত্যাহারের মেসেজ দেখা যাবে:

<a href="javascript:window.googlefc.showRevocationMessage();">Privacy and cookie settings</a>
<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => {
      // Update the revocation link so that it shows on the page.
      const revocationLink = document.getElementById('revocation-link');
      revocationLink.style.display = 'block';
    }
  });
</script>

উদাহরণ ২: বর্তমান ব্যবহারকারীর ক্ষেত্রে EU রেগুলেশন প্রযোজ্য হলে, আপনি যদি শুধুমাত্র লিঙ্কটি দেখাতে চান, তাহলে gdprApplies ভ্যালু নির্ধারণ করার পরে, শর্ত অনুযায়ী বোতামের ডিসপ্লে আপডেট করতে, TCF API-এর সাথে googlefc কলব্যাক কিউ ব্যবহার করতে পারবেন। এর জন্য, CONSENT_API_READY API key ব্যবহার করুন।

<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    // Specifying "0" for the version parameter will result in the API call
    // using the latest version of the TCF spec.
    () => __tcfapi('addEventListener', 0, (tcdata, success) => {
      const revocationLink = document.getElementById('revocation-link');
      if (!success || !tcdata) {
        // Something went wrong, don't show the revocation link.
        revocationLink.style.display = 'none';
      }
      else if (tcdata.gdprApplies) {
        revocationLink.style.display = 'block';
      } else {
        // GDPR does not apply so don't show the revocation link.
        revocationLink.style.display = 'none';
      }
    })
  });
</script>

googlefc.getAdBlockerStatus(): {number}

ব্যবহারকারীর অ্যাড ব্লকিং স্ট্যাটাসের উপর নির্ভর করে AdBlockerStatusEnum-এ একটি ভ্যালু রিটার্ন করে। এই ফাংশনের জন্য যে কী উল্লেখ করতে হবে তা হল AD_BLOCK_DATA_READY।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAdBlockerStatus()) {
          case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
          case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
            // Insert handling for cases where the user is blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
            // Insert handling for cases where the user is not blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.UNKNOWN:
            // Insert handling for unknown cases.
            break;
      }
    }
  });
</script>

googlefc.getAllowAdsStatus(): {number}

ব্যবহারকারীর বিজ্ঞাপন-অনুমতি স্ট্যাটাসের উপর নির্ভর করে AllowAdsStatusEnum-এ একটি মান প্রদান করে। এই ফাংশনের জন্য যে কী উল্লেখ করতে হবে তা হল AD_BLOCK_DATA_READY।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAllowAdsStatus()) {
        case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
          // Insert handling for cases where the user has not allowed ads.
          // The user may have never been an ad blocker.
          break;
        case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
          // Insert handling for cases where the user saw the ad blocking
          // message and allowed ads on the site.
          break;
        case googlefc.AllowAdsStatusEnum.UNKNOWN:
          // Insert handling for unknown cases.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.getInitialUsStatesOptOutStatus(): {number}

ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialUsStatesOptOutStatusEnum-এ একটি ভ্যালু রিটার্ন করে। এই ফাংশনের জন্য যে কী উল্লেখ করতে হবে তা হল INITIAL_US_STATES_OPT_OUT_DATA_READY। মনে রাখবেন যে, মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন ডেটার জন্য পরবর্তী যেকোনও অনুরোধ সরাসরি GPP API (__gpp) কল করে পেতে হবে।

আপনি যদি 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ওভাররাইড করেন, তাহলে আপনার সাইটে কখন লিঙ্কটি অন্তর্ভুক্ত করতে হবে তা নির্ধারণ করতে আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_US_STATES_OPT_OUT_DATA_READY':
    () => {
      switch (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()) {
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.usstatesoptout.openConfirmationDialog(function(boolean)): {undefined}

ডিফল্ট 'বিক্রি করবেন না' লিঙ্ক ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট কনফার্মেশন ডায়ালগ খোলে। ব্যবহারকারী কনফার্মেশন ডায়ালগের সাথে ইন্টার‍্যাক্ট করলে, ব্যবহারকারী অপ্ট-আউট করার সিদ্ধান্ত নিলে, প্রদত্ত কলব্যাক ফাংশন true-এর সাথে কল করা হয় এবং অন্যথায় false-এর সাথে কল করা হয়।

উদাহরণ:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>

googlefc.getGoogleConsentModeValues(): {!Object}

ব্যবহারকারীর সম্মতি সংক্রান্ত সিদ্ধান্তের উপর ভিত্তি করে, প্রতিটি সম্মতি মোডের উদ্দেশ্যের বর্তমান মান সহ একটি googlefc.GoogleFcConsentModeUserStatus অবজেক্ট রিটার্ন করে।

উদ্দেশ্য অনুযায়ী ব্যবহারের জন্য ইউরোপীয় ইউনিয়নের রেগুলেশনের জন্য সম্মতি মোড সহ Google-এর কনসেন্ট ম্যানেজমেন্ট সলিউশন ব্যবহার করা দেখুন।


googlefc.ccpa.getInitialCcpaStatus(): {number}

ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialCcpaStatusEnum-এ একটি মান রিটার্ন করে। এই ফাংশনের জন্য যে কী উল্লেখ করতে হবে তা হল INITIAL_CCPA_DATA_READY। মনে রাখবেন যে মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন ডেটার জন্য পরবর্তী যেকোনও অনুরোধ সরাসরি GPP API (__gpp)-এ কল করে পেতে হবে।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_CCPA_DATA_READY':
    () => {
      switch (googlefc.ccpa.getInitialCcpaStatus()) {
        case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
          // Insert handling for cases where no US state regulation applies to
          // the user.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to
          // the user, and the user has not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where a US state regulation applies to the
          // user, and the user has opted out.
          break;
      }
    }
  });
</script>

googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}

ডিফল্ট 'বিক্রি করবেন না' লিঙ্ক ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট কনফার্মেশন ডায়ালগ খোলে। ব্যবহারকারী কনফার্মেশন ডায়ালগের সাথে ইন্টার‍্যাক্ট করলে, ব্যবহারকারী অপ্ট-আউট করার সিদ্ধান্ত নিলে, প্রদত্ত কলব্যাক ফাংশন true-এর সাথে কল করা হয় এবং অন্যথায় false-এর সাথে কল করা হয়।

উদাহরণ:

<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>

আপনি যদি IAB TCF v2 ফ্রেমওয়ার্কের অধীনে GDPR সম্মতি সংগ্রহ করার জন্য Google-এর সম্মতি ম্যানেজমেন্ট সংক্রান্ত সমাধান ব্যবহার করেন, তাহলে আপনাকে IAB TCF v2 API ব্যবহার করতে হবে।

আপনি CONSENT_API_READY কলব্যাক কিউ কী ব্যবহার করে নিশ্চিত করতে পারেন যে পৃষ্ঠায় IAB TCF v2 API সংজ্ঞায়িত করা থাকলে তবেই সংশ্লিষ্ট কলব্যাকগুলি চালু করা হবে। IAB TCF v2 API-এর 'addEventListener' কমান্ডের সাথে এটি ব্যবহার করা উচিত।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_API_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times as user completes consent flow.
    })
  });
</script>

আপনি CONSENT_DATA_READY কলব্যাক কিউ কী ব্যবহার করে নিশ্চিত করতে পারেন যে সংশ্লিষ্ট কলব্যাকগুলি শুধুমাত্র তখনই কল করা হবে যখন ব্যবহারকারীর সম্মতি সংগ্রহ করা হয় এবং IAB TCF v2 API ব্যবহার করে অ্যাক্সেস করা যায়। এটি 'addEventListener' কমান্ডের সাথে ব্যবহার করা যেতে পারে - আপনার প্রদান করা কলব্যাকের প্রথম ইনভোকেশনে প্রদান করা ডেটাতে ব্যবহারকারীর সম্মতি সংক্রান্ত পছন্দ থাকবে (যতক্ষণ পর্যন্ত TCF v2 এই ব্যবহারকারীর ক্ষেত্রে প্রযোজ্য হয়)। মনে রাখবেন যে TCF v2.2 রিলিজ হওয়ার সাথে সাথে, 'getTCData' কমান্ড এখন বন্ধ হয়ে গেছে।

উদাহরণ:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times if user consent selections change.
    })
  });
</script>

Google-এর সম্মতি ম্যানেজমেন্ট সংক্রান্ত সমাধান আপনার ব্যবহারকারীদের EU রেগুলেশন সম্মতি সংক্রান্ত পছন্দ ব্যাখ্যা করতে পারে Google-এর সম্মতি মোড-এর জন্য (সহায়তা কেন্দ্র থেকে আরও জানুন)।

সম্মতি মোড প্রাথমিক মোড বা উন্নত মোড, যে কোনও একটিতে প্রয়োগ করা যেতে পারে, যেমন Google Ads এবং Analytics ডকুমেন্টেশনে বর্ণনা করা হয়েছে। আইনি প্রয়োজনাদি পূরণ করতে কোন সম্মতি মোড প্রয়োগ করতে হবে সেই বিষয়ে আপনার আইনি বিভাগের সাথে পরামর্শ করা উচিত।

উন্নত সম্মতি মোড ডিফল্ট হিসেবে কাজ করে; আপনি গোপনীয়তা ও মেসেজিং UI-তে সম্মতি মোড চালু করার পরে, আপনাকে আর কোনও অতিরিক্ত কাজ করতে হবে না।

Google-এর সম্মতি ম্যানেজ করা সংক্রান্ত সমাধান ব্যবহার করে প্রাথমিক সম্মতি মোড প্রয়োগ করতে, সম্মতি মোড ডেটা উপলভ্য হলে, আপনার Google Ads এবং Analytics ট্যাগ শর্তসাপেক্ষে লোড করতে আপনি CONSENT_MODE_DATA_READY কলব্যাক কিউ কী ব্যবহার করতে পারেন। Funding Choices যখন নির্ধারণ করবে যে এই অনুরোধের ক্ষেত্রে সম্মতি মোড প্রযোজ্য নয় (যেমন, এই অনুরোধের ক্ষেত্রে ইউরোপিয়ান রেগুলেশন প্রযোজ্য নয়) অথবা কোনও ব্যবহারকারী ইউরোপিয়ান রেগুলেশন সম্মতি সংক্রান্ত সিদ্ধান্ত নেওয়ার পরে সম্মতি মোড ডেটা উপলভ্য হবে। সম্মতি মোড উপলভ্য হলে আপনার ট্যাগ লোড করা যাবে কিনা তা নির্ধারণ করতে কোন মাপকাঠি ব্যবহার করা হবে সেই বিষয়ে আপনার আইনি বিভাগের সাথে পরামর্শ করা উচিত।

যেমন, সম্মতি মোড ডেটা উপলভ্য হলে আপনার ট্যাগ লোড করতে, ব্যবহারকারীর সম্মতি সংক্রান্ত সিদ্ধান্ত যাই হোক না কেন:

<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to load Google Ads/Analytics tags once consent mode data is
// ready.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

// Queue the callback using the CONSENT_MODE_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
  'CONSENT_MODE_DATA_READY':
  () => {
      loadGtagScript();
  },
});
</script>

সম্মতি মোড ডেটা উপলভ্য থাকলে, আপনি googlefc.getGoogleConsentModeValues() API ব্যবহার করে সম্মতি মোডের প্রতিটি উদ্দেশ্যের ভ্যালু পেতে পারেন। এই API একটি GoogleFcConsentModeUserStatus অবজেক্ট রিটার্ন করে যার মধ্যে প্রতিটি কাজ করার জন্য সম্মতি মোডের জন্য একটি করে ফিল্ড থাকে এবং প্রতিটি ফিল্ডের ভ্যালু হল একটি enum ভ্যালু যা সেই সম্মতি মোডের ভ্যালু নির্দেশ করে।

যেমন, আপনি googlefc.getGoogleConsentModeValues() ব্যবহার করে আপনার Google Ads এবং Analytics ট্যাগ আনব্লক করতে পারবেন, তবে শুধুমাত্র নিম্নলিখিত ক্ষেত্রে:

  • ব্যবহারকারী ইউরোপীয় ইউনিয়নের রেগুলেশন সংক্রান্ত সম্মতি দেওয়ার সিদ্ধান্ত নেন যার ফলে সব কনসেন্ট মোড সংক্রান্ত উদ্দেশ্যে সম্মতি দেওয়া হয়, অথবা
  • বর্তমান অনুরোধের জন্য সম্মতি মোডের কোনও উদ্দেশ্য প্রযোজ্য নয় (ইউরোপীয় ইউনিয়নের রেগুলেশন প্রযোজ্য না হলে অথবা গোপনীয়তা ও মেসেজিং টুলে এক বা একাধিক উদ্দেশ্যের জন্য সম্মতি মোড কনফিগার করা না থাকলে এমনটি হতে পারে)।
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

// Helper function to determine whether Google Ads and Analytics tags can be
// unblocked. Returns true if all consent mode purposes are set to GRANTED,
// NOT_APPLICABLE, or NOT_CONFIGURED.
const shouldUnblockConsentTags = (googleFcConsentModeStatus) => {
  const allConsentModeValues = [
    googleFcConsentModeStatus.adStoragePurposeConsentStatus,
    googleFcConsentModeStatus.adUserDataPurposeConsentStatus,
    googleFcConsentModeStatus.adPersonalizationPurposeConsentStatus,
    googleFcConsentModeStatus.analyticsStoragePurposeConsentStatus
  ];
  for (const consentModeValue of allConsentModeValues) {
    switch (consentModeValue) {
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_UNKNOWN:
        // Indicates either an error case or that consent mode data is not
        // ready yet. Cannot unblock tags until consent data is ready and valid,
        // so return false.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_GRANTED:
        // Consent is granted for this consent mode purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_DENIED:
        // Consent is denied for this consent mode purpose. Do not unblock tags.
        return false;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_APPLICABLE:
        // Consent mode does not apply for this purpose.
        break;
      case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_CONFIGURED:
        // Consent mode not configured for this purpose.
        // If you configured support for Ads purposes but not Analytics purposes in the
        // Privacy & messaging UI, the value of `analyticsStoragePurposeConsentStatus` will
        // always be set to NOT_CONFIGURED. If you do not enable any Consent Mode support
        // in the Privacy & messaging UI, the values of all purposes will always be set to
        // NOT_CONFIGURED.
        break;
      default:
        console.log("Unexpected consent mode value encountered");
    }
  }
  // If all prior checks pass, all consent mode values are either GRANTED,
  // NOT_APPLICABLE, or NOT_CONFIGURED.
  return true;
};

// Helper function to load Google Ads/Analytics tags.
const loadGtagScript = () => {
  // Load gtag.js script - code taken from
  // https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
  var gtagScript = document.createElement('script');
  gtagScript.async = true;
  gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';

  var firstScript = document.getElementsByTagName('script')[0];
  firstScript.parentNode.insertBefore(gtagScript,firstScript);
}

googlefc.callbackQueue.push({
  CONSENT_MODE_DATA_READY: () => {
    if (shouldUnblockConsentTags(googlefc.getGoogleConsentModeValues())) {
      loadGtagScript();
    }
  },
});
</script>

আপনি যদি IAB GPP ফ্রেমওয়ার্কের অধীনে ব্যবহারকারীদের মার্কিন যুক্তরাষ্ট্রের রাজ্য রেগুলেশন অপ্ট-আউট মেসেজ প্রদান করার জন্য Google-এর সম্মতি ম্যানেজমেন্ট সংক্রান্ত সমাধান ব্যবহার করেন, তাহলে আপনাকে IAB GPP API ব্যবহার করতে হবে।

মার্কিন যুক্তরাষ্ট্রের রাজ্যগুলির রেগুলেশনের অপ্ট-আউট প্রকৃতির কারণে, আপনি CONSENT_API_READY অথবা CONSENT_DATA_READY কলব্যাক কিউ কী ব্যবহার করতে পারেন যাতে কলব্যাক ইনভোক করার সময় IAB GPP API কল করা যায় এবং সম্মতি সংক্রান্ত ডেটা ফেরত দেয়।

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __gpp('ping', (data, success) => {
        // Do something with consent data value.
    })
  });
</script>

আপনি যদি IAB GPP ফ্রেমওয়ার্কের অধীনে ব্যবহারকারীদের মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন অপ্ট-আউট মেসেজ প্রদান করার জন্য Google-এর কনসেন্ট ম্যানেজমেন্ট সলিউশন ব্যবহার করেন, তাহলে googlefc.usstatesoptout.overrideDnsLink ফ্ল্যাগ true-এ সেট করে আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক প্রদান করা সম্ভব।

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Signals that the default DNS link will be overridden.
  window.googlefc.usstatesoptout.overrideDnsLink = true;

  // Register the callback for the initial US state regulations data.
  window.googlefc.callbackQueue.push({
      'INITIAL_US_STATES_OPT_OUT_DATA_READY': () => {
        if (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() ===
            googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom Do Not Sell or Share link here.
        }
      }
    });
</script>

এটি নিশ্চিত করে যে ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক রেন্ডার হয় না। তারপর, মার্কিন যুক্তরাষ্ট্রের রাজ্য-ভিত্তিক রেগুলেশন অপ্ট-আউট কনফার্মেশন ডায়ালগ চালু করে, আপনার কাস্টম 'আমার তথ্য বিক্রি বা শেয়ার করবেন না' লিঙ্কের সাথে ব্যবহারকারীর ইন্টার‍্যাকশন আপনাকে ম্যানেজ করতে হবে।

মনে রাখবেন, আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার সময়, আপনার লিঙ্কটি মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন মেনে চলছে কিনা তা নিশ্চিত করার দায়িত্ব আপনার। এছাড়াও, "মার্কিন যুক্তরাষ্ট্রের স্টেট রেগুলেশন" মেসেজিং কার্যকারিতার জন্য আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার সুবিধা শুধুমাত্র Ad Manager-এ কাজ করে।

<script>
// This callback will be called when the user makes a US state regulations
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom Do Not Sell or Share link here.
  }
}
// Invoke the US state regulations opt-out confirmation dialog when the user
// clicks the link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
  "click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>