diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js
index 20bde9f27fd..b72601e5ebb 100644
--- a/modules/kargoBidAdapter.js
+++ b/modules/kargoBidAdapter.js
@@ -1,4 +1,4 @@
-import { _each, isEmpty, buildUrl, deepAccess, pick, triggerPixel } from '../src/utils.js';
+import { _each, isEmpty, buildUrl, deepAccess, pick, triggerPixel, logError } from '../src/utils.js';
 import { config } from '../src/config.js';
 import { registerBidder } from '../src/adapters/bidderFactory.js';
 import { getStorageManager } from '../src/storageManager.js';
@@ -459,10 +459,6 @@ function getImpression(bid) {
     code: bid.adUnitCode
   };
 
-  if (bid.floorData != null && bid.floorData.floorMin > 0) {
-    imp.floor = bid.floorData.floorMin;
-  }
-
   if (bid.bidRequestsCount > 0) {
     imp.bidRequestCount = bid.bidRequestsCount;
   }
@@ -482,17 +478,33 @@ function getImpression(bid) {
     }
   }
 
-  if (bid.mediaTypes != null) {
-    if (bid.mediaTypes.banner != null) {
-      imp.banner = bid.mediaTypes.banner;
+  if (bid.mediaTypes) {
+    const { banner, video, native } = bid.mediaTypes;
+
+    if (banner) {
+      imp.banner = banner;
     }
 
-    if (bid.mediaTypes.video != null) {
-      imp.video = bid.mediaTypes.video;
+    if (video) {
+      imp.video = video;
     }
 
-    if (bid.mediaTypes.native != null) {
-      imp.native = bid.mediaTypes.native;
+    if (native) {
+      imp.native = native;
+    }
+
+    if (typeof bid.getFloor === 'function') {
+      let floorInfo;
+      try {
+        floorInfo = bid.getFloor({
+          currency: 'USD',
+          mediaType: '*',
+          size: '*'
+        });
+      } catch (e) {
+        logError('Kargo: getFloor threw an error: ', e);
+      }
+      imp.floor = typeof floorInfo === 'object' && floorInfo.currency === 'USD' && !isNaN(parseInt(floorInfo.floor)) ? floorInfo.floor : undefined;
     }
   }
 
diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js
index eba33527297..40f8833c6ec 100644
--- a/test/spec/modules/kargoBidAdapter_spec.js
+++ b/test/spec/modules/kargoBidAdapter_spec.js
@@ -491,7 +491,8 @@ describe('kargo adapter tests', function () {
             },
             fpd: {
               gpid: '/22558409563,18834096/dfy_mobile_adhesion'
-            }
+            },
+            floor: 2
           },
           {
             code: '303',
@@ -503,7 +504,8 @@ describe('kargo adapter tests', function () {
             },
             fpd: {
               gpid: '/22558409563,18834096/dfy_mobile_adhesion'
-            }
+            },
+            floor: 3
           }
         ],
         socan: {
@@ -605,6 +607,16 @@ describe('kargo adapter tests', function () {
         payload['gdprConsent'] = gdpr
       }
 
+      clonedBids.forEach(bid => {
+        if (bid.mediaTypes.banner) {
+          bid.getFloor = () => ({ currency: 'USD', floor: 1 });
+        } else if (bid.mediaTypes.video) {
+          bid.getFloor = () => ({ currency: 'USD', floor: 2 });
+        } else if (bid.mediaTypes.native) {
+          bid.getFloor = () => ({ currency: 'USD', floor: 3 });
+        }
+      });
+
       var request = spec.buildRequests(clonedBids, payload);
       var krakenParams = request.data;