*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:#e8dcc0;font-family:Georgia,'Times New Roman',serif;line-height:1.7;font-size:17px;background:#2b1d12;background-image:radial-gradient(ellipse at 20% 0%,#3a2818 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,#241610 0%,transparent 55%)} h1,h2,h3{line-height:1.25;font-weight:700} a{color:#e8c874;text-decoration:none} a:hover{text-decoration:underline;color:#f4df9e} .wrap{max-width:1120px;margin:0 auto;padding:0 24px} .brass-text{background:linear-gradient(135deg,#b08d3e,#e8c874 60%,#b08d3e);-webkit-background-clip:text;background-clip:text;color:transparent} .site-header{background:#1d120a;border-bottom:2px solid #b08d3e;position:sticky;top:0;z-index:50} .site-header .wrap{display:flex;align-items:center;gap:20px;padding:12px 24px;flex-wrap:wrap} .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#e8dcc0;font-size:23px;font-weight:700;letter-spacing:.5px} .brand:hover{text-decoration:none;color:#e8c874} .brand svg{width:40px;height:40px} .nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto;align-items:center} .nav a{text-decoration:none;color:#d8c9a3;font-size:15px;padding:9px 14px;border:1px solid transparent} .nav a:hover{color:#e8c874;border-color:#6b5326;background:#241708;text-decoration:none} .nav a.cta{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;font-weight:700;border:1px solid #e8c874} .nav a.cta:hover{background:linear-gradient(135deg,#c49a48,#f0d284);color:#2b1d12} .rivets{height:16px;background-color:#1d120a;background-image:radial-gradient(circle,#e8c874 2.6px,rgba(232,200,116,0) 3.2px);background-size:26px 16px;background-repeat:repeat-x;background-position:center} .hero{padding:56px 0 10px;position:relative;overflow:hidden} .hero-gears{position:absolute;right:-30px;top:20px;opacity:.28;pointer-events:none} .hero-gears svg{width:220px;height:220px;animation:spin 40s linear infinite} .hero-gears svg.small{width:130px;height:130px;animation-direction:reverse;animation-duration:28s;margin-left:-40px;vertical-align:top} @keyframes spin{to{transform:rotate(360deg)}} @media(prefers-reduced-motion:reduce){.hero-gears svg{animation:none}} .hero-inner{position:relative;max-width:70ch} .eyebrow{display:inline-block;border:1px solid #b08d3e;color:#e8c874;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;margin-bottom:18px;background:#241708} .hero h1{font-size:clamp(36px,5.4vw,58px);margin:0 0 16px;color:#f4ead2} .lede{color:#c9b891;font-size:18px} .tool-frame{background:#1d120a;border:2px solid #b08d3e;margin:32px 0 12px;box-shadow:0 0 0 6px #241708,0 0 0 7px #6b5326,0 24px 60px rgba(0,0,0,.5)} .tool-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 26px;background:linear-gradient(135deg,#3a2818,#2b1d12);border-bottom:1px solid #6b5326} .tool-head h2{margin:0;font-size:25px;color:#f4ead2} .privacy-chip{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid #e8c874;color:#e8c874;font-size:13px;letter-spacing:1px;padding:8px 16px;background:#241708;font-family:inherit} .privacy-chip svg{width:16px;height:16px} .tool-body{padding:28px 26px;background:linear-gradient(180deg,#f1e6cc,#e9d9b8);color:#2b1d12} .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-bottom:24px} .opt{background:rgba(255,255,255,.35);border:1px solid #b08d3e;padding:18px} .opt-label{display:block;font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#7a5c22;margin-bottom:12px;font-family:Georgia,serif} .opt-hint{font-size:13.5px;color:#6b5a3e;margin:10px 0 0} .seg{display:flex;flex-wrap:wrap;gap:8px} .seg button{border:1px solid #a8873f;background:#fbf6e9;color:#2b1d12;padding:8px 15px;font-size:13.5px;cursor:pointer;font-family:Georgia,serif} .seg button:hover{border-color:#7a5c22} .seg button[aria-pressed="true"]{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;border-color:#7a5c22;font-weight:700} .num-row{display:flex;align-items:center;gap:12px} .num-row input[type=range]{flex:1;accent-color:#b08d3e} .num-row input[type=number]{width:70px;border:1px solid #a8873f;padding:8px 10px;font-size:15px;font-family:Georgia,serif;background:#fbf6e9;color:#2b1d12} .count-val{font-weight:700;color:#7a5c22;font-size:20px;min-width:40px;text-align:center} .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:8px} .btn{border:2px solid #7a5c22;background:transparent;color:#5c4419;padding:12px 26px;font-weight:700;font-size:15px;cursor:pointer;font-family:Georgia,serif;display:inline-flex;align-items:center;gap:9px;text-decoration:none} .btn:hover{background:#e9d9b8;text-decoration:none} .btn.primary{background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;border-color:#7a5c22} .btn.primary:hover{filter:brightness(1.06)} .btn svg{width:17px;height:17px} .btn:disabled{opacity:.4;cursor:not-allowed} .copy-note{font-size:14px;font-weight:700;color:#5c6e1f} .output{margin-top:20px;background:#fbf6e9;border:1px solid #b08d3e;min-height:130px;padding:20px} .output ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px} .output li{background:#fffdf6;border:1px solid #d8c9a3;border-left:5px solid #b08d3e;padding:13px 18px;cursor:pointer;display:flex;gap:14px;align-items:flex-start;box-shadow:2px 2px 0 rgba(122,92,34,.15)} .output li:hover{background:#fdf8ea} .output li .idx{flex:none;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#b08d3e,#e8c874);color:#2b1d12;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px} .output li .txt{min-width:0} .output li .nm{display:block;font-weight:700;font-size:18px;color:#2b1d12} .output li .ds{display:block;font-size:14px;color:#5c4f38} .output li .rl{display:block;font-size:13px;color:#7a5c22;font-style:italic;margin-top:3px} .output li .mini-copy{margin-left:auto;flex:none;font-size:12px;font-weight:700;color:#7a5c22;border:1px dashed #a8873f;padding:5px 12px;align-self:center;letter-spacing:1px} .output .placeholder{color:#a08c62;text-align:center;margin:32px 0;font-size:15px;font-style:italic} .output-meta{margin-top:12px;font-size:13.5px;color:#6b5a3e} .limits{margin-top:22px;background:#fbf6e9;border:2px dashed #a8873f;padding:20px 22px;color:#2b1d12} .limits h3{margin:0 0 10px;font-size:20px;color:#7a5c22;display:flex;align-items:center;gap:10px} .limits h3 svg{width:22px;height:22px;flex:none} .limits ul{margin:0;padding-left:20px;font-size:15px;color:#5c4f38} .limits li{margin-bottom:7px} .section{padding:52px 0 8px} .section h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 14px;color:#f4ead2} .sub{color:#c9b891;max-width:68ch;margin:0 0 24px} .cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px} .card{background:linear-gradient(180deg,#f1e6cc,#e9d9b8);color:#2b1d12;padding:24px;display:flex;flex-direction:column;border:1px solid #a8873f;box-shadow:4px 4px 0 rgba(0,0,0,.35)} .card h3{margin:0 0 10px;font-size:20px;color:#3a2a12} .card p{margin:0 0 14px;color:#5c4f38;font-size:15px;flex:1} .card .icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#b08d3e,#e8c874);display:flex;align-items:center;justify-content:center;margin-bottom:14px} .card .icon svg{width:24px;height:24px} .card a.more{font-weight:700;font-size:15px;color:#7a5c22} .prose{max-width:74ch} .prose p{margin:0 0 16px;color:#d8c9a3} .prose h2{margin:36px 0 12px;font-size:27px;color:#f4ead2} .prose h3{margin:28px 0 10px;font-size:20px;color:#e8c874} .prose ul,.prose ol{margin:0 0 18px;padding-left:22px;color:#d8c9a3} .prose li{margin-bottom:8px} .prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15.5px} .prose th{background:#3a2818;color:#e8c874;text-align:left;padding:10px 14px;border:1px solid #6b5326} .prose td{padding:10px 14px;border:1px solid #6b5326;color:#d8c9a3} .prose strong{color:#f4ead2} .callout{background:#3a2818;border-left:5px solid #e8c874;padding:18px 22px;margin:20px 0;color:#d8c9a3} .callout p{margin:0} .faq-item{background:#241708;border:1px solid #6b5326;padding:18px 22px;margin-bottom:14px} .faq-item h3{margin:0 0 8px;font-size:19px;color:#e8c874} .faq-item p{margin:0;color:#c9b891;font-size:15.5px} .site-footer{background:#1d120a;border-top:2px solid #b08d3e;margin-top:70px;padding:44px 0 30px} .site-footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px} .site-footer h4{color:#e8c874;margin:0 0 12px;font-size:16px;letter-spacing:1px} .site-footer a{color:#a8935f;font-size:14.5px;display:block;margin-bottom:8px} .site-footer a:hover{color:#e8c874} .site-footer .fine{grid-column:1/-1;font-size:13px;color:#7a6647;border-top:1px solid #3a2818;padding-top:18px;margin-top:6px} .breadcrumb{font-size:13.5px;color:#a8935f;margin:22px 0 0} .breadcrumb a{color:#e8c874} .page-hero{padding:44px 0 6px} .page-hero h1{font-size:clamp(32px,4.6vw,48px);margin:0 0 14px;color:#f4ead2} .gear-deco{width:64px;height:64px} @media(max-width:700px){.tool-body{padding:20px 16px}.output li{flex-wrap:wrap}.nav{margin-left:0}.hero-gears{display:none}}

Offer Naming FAQ

Straight answers to the questions marketers ask when naming a promotion.

How long should a sale name be?

Two to four words. It has to survive subject lines, banners, hashtags, and spoken recommendations. If it does not fit comfortably in a hashtag, shorten it.

Should the discount go in the campaign name?

Usually not in the name itself; put the number in the headline or subhead. "Mega Savings Blowout" plus "Up to 40% off" beats "40% Off Sale" for memorability, and the name stays reusable when the discount changes.

Can two campaigns share a name?

Yes, and for recurring events you should: a consistent name builds recognition across runs and grows a social following between them. Avoid names tied to a specific date if you plan to reuse them.

Do rhyming or alliterative names really work better?

Sound patterns aid recall: alliterative and rhyming names are easier to remember and repeat, which helps word of mouth. They suit casual and mid-market brands best; formal luxury brands usually prefer restrained names.

How do I check a name is not already taken?

Search the exact name on Google and as a hashtag on major social platforms. Then check trademark databases for your country before commercial use. A name that is heavily used elsewhere will compete for attention and may carry legal risk.

Should the name match my brand voice?

Absolutely. A formal retailer running a "Splish Splash Sale" creates a disconnect that cheapens both the brand and the offer. The name should sound like something your brand would say unprompted.

Is it okay to use urgency words like "Final" or "Last Chance"?

Only when the urgency is real. Fake urgency, repeated "final" sales that never end, trains customers to ignore you and can attract regulatory attention for misleading claims. Use urgency words sparingly and honestly.

What is the biggest naming mistake?

Cleverness without clarity. A name nobody understands is a name nobody repeats. Test every finalist with the stranger test: can someone guess what kind of event it is from the name alone?

Still forging? The free offer name generator produces fresh candidates in every style above in one click.