> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Budget Carryover

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  In Topsort, campaign budgets can have a "carryover" feature that allows for
  potential overspending on a given day to compensate for previous
  underspending. This mechanism helps campaigns utilize their full budget over
  time.
</div>

## How Budget Carryover Works

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  If a campaign spends less than its set daily budget on previous days, the
  unspent amount accumulates as "unused budget". This can happen due to factors
  like low traffic or insufficient vendor funds. On a subsequent day, if
  conditions improve and funds are available, the campaign is allowed to spend
  up to double (2x) its usual daily budget to make up for the accumulated unused
  budget.
</div>

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  For example, if a campaign has a daily budget of \$100 but only spends \$50 on
  Day 1, it will have \$50 of unused budget carried over. On Day 2, if there's
  more traffic, the campaign could potentially spend up to \$150 (\$100 daily
  budget + \$50 carryover).
</div>

## Campaign Activation and Carryover

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Even if a vendor's account has no funds when a campaign is initially
  activated, the system still considers the campaign "active." During this
  period, the campaign is technically accumulating unused budget because no
  spending is occurring. Once funds are added to the vendor's account, the
  campaign could spend up to 2x its daily budget, as it catches up on the
  previously underspent day.
</div>

***

<LastUpdated date="2025-11-18" />
