Headless Docs
Latest (1.2.3)
Latest (1.2.3)
  • Overview
  • Change Log
  • General Steps
    • Update Prices on Page
    • Update ATC Events
      • Shopify Functions
      • Shopify Plus + Scripts
    • Preview Your Site
    • Lite Mode
  • Next.js Steps
    • Requirements
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Next.js - App Directory Configuraiton
    • Requirements
    • Add Intelligems Provider
    • 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
  • Shopify Hydrogen / Remix
    • Requirements
    • Update loader()
    • Add Intelligems Provider
    • Track Page Views
    • Update Prices on Page
    • Update ATC Events
    • Preview Your Site
  • Examples
    • Custom Events
    • Content Testing
    • Gift With Purchases
  • Reference
    • Providers
      • Provider Props
    • Components
      • Price Components
    • Hooks
      • Price Hooks
      • Offer Hooks
      • Track Hooks
      • Experience Hooks
      • Variation Hooks
      • Cart & Checkout Hooks
Powered by GitBook
On this page
  • useIgPrices()
  • useIgStyles
  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. You may pass in either an object with the required data, or an array of objects. If an array is passed in the response will be an object mapped on variant id.

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

type UseIgPricesInput = UseIgPricesProps | UseIgPricesProps[];

export type UseIgPricesOutput<T extends UseIgPricesInput> =
  T extends UseIgPricesProps[]
    ? Record<string, UseIgPricesReturn>
    : UseIgPricesReturn;

const useIgPrices =  <T extends UseIgPricesInput> (props: UseIgPricesInput) => UseIgPricesOutput

useIgStyles

Useful for manually styling components for integration mode.

const igStyles = useIgStyles();

PreviousHooksNextOffer Hooks

Last updated 19 days ago