91³Ô¹ÏÍø

Watch CBS News

Taylor Swift sued by Vegas performer for trademark infringement over "The Life of a Showgirl"

Taylor Swift is facing a new lawsuit over her latest album, "The Life of a Showgirl," which accuses the singer of trademark infringement. 

Filed Monday in federal court by Las Vegas performer Maren Wade, the complaint claims Swift titled her hit record despite being aware of its resemblance to the title of a column that Wade penned for Las Vegas Weekly called centered around anecdotes about her experiences in the entertainment industry. The column was first published in 2014, the document said, and Wade later adapted it into a live show and book by the same name.

Wade obtained a registered trademark for "Confessions of a Showgirl" from the U.S. Patent and Trademark Office in 2015. The trademark eventually received "incontestable" status, signaling the owner's right to exclusively use it after having done so consistently for a period of years, according to the lawsuit and .

When Swift later applied to register a trademark of her own for "The Life of a Showgirl," the office denied her application, allegedly on the grounds that its title was "confusingly similar" to Wade's already established one, Wade's attorney, Jaymie Parkkinen, told CBS News in a statement.

"They continued using it anyway, expanding it across a coordinated commercial program and distributing it through retail channels reaching millions of consumers" the lawsuit said, referring to Swift's team. It added that Wade "was never contacted" about the name.

The lawsuit claims that Swift's album title undermined Wade's personal brand, after the performer had spent more than a decade building it.

"She registered it. She earned it," said Parkkinen. "We have great respect for Swift's talent and success, but trademark law exists to ensure that creators at all levels can protect what they've built. That's what this case is about."

Wade's complaint said similarities between "Confessions of a Showgirl" and "The Life of a Showgirl" are "immediate," as both titles "share the same structure, the same dominant phrase, and the same overall commercial impression." It also said the brands "are used in overlapping markets and are directed at the same consumers."

In addition to trademark infringement, the suit also accused Swift and UMG Recordings of unfair competition and, specifically, , a law that prohibits goods or services circulated in commerce from misrepresenting their origins to consumers. UMG Recordings is a branch of Universal Music Group, to which Swift is signed. The lawsuit also named Bravado International Group Merchandising Services, Inc., another branch of UMG.

Wade is seeking unspecified damages for "the irreparable harm to her business, reputation, and goodwill" as a result of the alleged trademark violation, as well as a court order that would prevent Swift from continuing to use the title of her hit album.

Swift's commercial success "does not depend on the continued use of any single designation," the lawsuit argued, while "Confessions of a Showgirl" is Wade's only trademark and the basis of her "professional identity and career."

"It is not one mark among hundreds," the complaint said. "It is the only one she has."

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });