> For the complete documentation index, see [llms.txt](https://developers.spiffy.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.spiffy.co/spiffyjs/config.md).

# Config

## spiffy.config(*configObj*)

Modify the global Spiffy.js config before `spiffy.load()`

* `configObj` - object of config properties
  * `hideSummary:`**`false`** - Hide/show the order summary on checkouts
  * `hideCoupon:`**`false`** - Hide/show coupon field on checkouts
  * ` hideSidebar:`` `` `**`true`** - Hide/show sidebar content on checkouts
  * `hideHeader:`**`true`** - Hide/show page header on checkouts
  * `hideFooter:`**`true`** - Hide/show page footer on checkouts<br>
  * ` hidePortalCustomer:`` `` `**`false`** - Hide/show logged in customer details in portal
  * ` hidePortalHeader:`` `` `**`false`** - Hide/show logo and title header in portal
  * ` hidePortalSubscriptions:`` `` `**`false`** - Hide/show subscription management in portal
  * ` hidePortalPaymentPlans:`` `` `**`false`** - Hide/show payment plan management in portal
  * ` hidePortalToggle:`` `` `**`false`** - Hide/show the button to toggle between customer/affiliate portal
  * ` hidePortalOrders:`` `` `**`false`** - Hide/show list of orders in portal
  * ` hidePortalPasswordChange:`` `` `**`false`** - Hide/show password change option in portal
  * ` hidePortalLogout:`` `` `**`false`** - Hide/show logout button in portal<br>
  * `pageTakeover:`**`true`** - Enable/disable full-page for checkouts upsells/thank you pages
  * `upsellPageTakeover:`**`true`** - Enable/disable full-page for checkouts upsell pages
  * `thanksPageTakeover:`**`true`** - Enable/disable full-page for checkouts thank you page<br>
  * `popupEnabled:`**`false`** - Enable/disable opening Spiffy checkout links in popup modal
  * `popupPrefetch:`**`true`** - Enable/disable prefetching popup when link is moused over
  * `compatibilityMode:`**`true`** - Enable/disable the use of `<div>`'s for components
  * `trackingEnabled:`**`true`** - Enable/disable the tracking/analytics features
  * ` autoIdentify:`` `` `**`true`** - Uses form submissions to improve customer recognition and affiliate tracking
  * ` preserveUrlParams:`` `` `**`false`** - Append the current url's parameters to any links on the page. Links to your Spiffy checkout already carry tracking (UTMs, ad click IDs, and affiliate data) automatically; turn this on only if you also want the current page's parameters passed along to every other link on the page
  * `linkExclusions`: `[]` - Array of strings of element selectors that should be ignored for link modification (preserve params, etc.). This is useful for issues with SpiffyJS messing with other scripts on your site.

## Example Config

This should be added **before** `spiffy.load()` in your SpiffyJS code.

```javascript
spiffy.config({
    // Enables div version of components
    compatibilityMode: true,

    // Tracking Options
    trackingEnabled: true,
    preserveUrlParams: false,
    linkExclusions: [],

    // Checkout Options
    hideSummary: false,
    hideCoupon: false,
    hideSidebar: true,
    hideHeader: true,
    hideFooter: true,
    
    // Portal Options
    hidePortalCustomer: false,
    hidePortalHeader: false,
    hidePortalSubscriptions: false,
    hidePortalPaymentPlans: false,
    hidePortalOrders: false,
    hidePortalLogout: false,

    // Takeover Options
    pageTakeover: true, // Used to easily turn both takeover settings on
    upsellPageTakeover: true,
    thanksPageTakeover: true,

    // Popup Options
    popupEnabled: true,
    popupPrefetch: true,
})
```
