💎
Headless Docs
Version 0.2.0
Version 0.2.0
  • Overview
  • Change Log
  • Next.js Steps
    • Requirements
    • Determine Page Methods
      • Route Hashing Method
      • Cookies Method
    • Install Middleware
    • Add Intelligems Provider
    • Read User Context
      • Route Hashing Method
      • Cookies Method
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Gatsby Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Pack Digital Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Examples
    • Content Testing
  • Reference
    • Middleware Objects
      • IgMiddlewareConfig
      • IgMiddlewareHandler
    • Providers
      • Next.js
      • Gatsby
    • Components
      • Price Components
    • Hooks
      • Price Hooks
      • Track Hooks
      • Experiment Hooks
      • Test Group Hooks
      • Cart & Checkout Hooks
Powered by GitBook
On this page
  1. Reference
  2. Hooks

Price Hooks

The returned price useIgPrices() follow the following logic:

  1. If no productId or variantId is provided, the originalPrice is returned

  2. If the productId and/or variantId is part of a Test, and the Test is live, or the test and user are both in preview mode:

    1. If a productId is provided but a variantId is not, the lowest-priced variant price is returned

    2. If the currencyCode of the Experiment does not match activeCurrencyCode, originalPrice is returned

    3. If a productId and variantId is provided, the test-group variant price is returned

  3. If the productId is not in an active test, the originalPrice is returned

useIgPrices()

Returns the product price based on the user's test group. Intelligems will return the original prices if updated prices are not found.

export interface UseIgPricesProps {
  productId?: string;
  variantId?: string;
  originalPrice: number;
  originalCompareAtPrice?: number;
  currencyCode?: string;
}

export interface UseIgPricesReturn {
  igPrice: IgPriceReturn;
  igCompareAtPrice?: IgPriceReturn;
  isIgPrice: boolean;
  isReady: boolean;
}

export interface IgPriceReturn {
  value: number | null;
  currencyCode: string;
}

const useIgPrices = (props: UseIgPricesProps) => UseIgPricesReturn
PreviousHooksNextTrack Hooks

Last updated 1 year ago