After the Trump administration announced a range of tariffs on Canada, China, Mexico and dozens of other countries earlier this year, many companies scrambled to stock up, or front-load, on products, parts and other imports to avoid incurring added tariff costs.
"They tried to front-run the imposition of the duties by importing rapidly," Daco said. "They bought goods they needed and stocked them, so that was the first line of defense against the tariffs."
Much of that extra inventory remains in warehouses or on store shelves, allowing importers to delay price hikes.
"Lots of retailers pre-ordered inventory before the tariffs went into effect, so the inventory they're selling has not been marked up yet," Goldberg said.
The Trump administration in April froze most of its tariffs for 90 days to allow time for negotiations, with that pause due to expire on July 9. And after announcing tariffs of as much as 145% on Chinese imports earlier this year, Mr. Trump and Chinese officials on Thursday said the two countries have agreed on the framework for a trade deal.
"We have had literally dozens of changes in tariff policy in the last five months. In that highly uncertain environment, companies that sell items that are subject to tariff may be cautious about raising prices immediately," Charley Ballard, professor of economics emeritus at Michigan State University, told CBS MoneyWatch.
Companies often refrain from raising prices to avoid scaring away consumers and losing market share to competitors.
Added Daco: "Essentially, some business decided to not immediately pass on the cost. They said, 'Let's see if we can hold out for a month, delay some imports, use the inventory on hand and be creative in terms of our broader pricing strategy'."
Although tariffs are paid by importers, which typically pass those costs on to consumers, some foreign exporters have also been willing to take a hit.
Lower tariff costs
Although Mr. Trump has announced sky-high tariff rates, the actual duties collected at the U.S. border so far are lower than the official rates. That's because some importers have been able to skirt the levies by storing goods in so-called bonded warehouses or foreign trade zones.
Businesses can use bonded warehouses, which are usually located near major commercial ports, to temporarily store goods, components and other inputs without immediately having to pay tariffs or taxes.
"If you make use of a warehouse or so-called foreign trade zone, you are able to delay the payment of tariffs until these goods are put into commerce," Daco said. "So it's a free-trade zone, or imaginary area that is not subject to tariffs."
Additionally, the U.S. has implemented a number of tariff exemptions and exclusions. In practice, that has resulted in the actual levies on imports often being lower than the nominal rate initially announced by the White House.
As of June, the effective U.S. tariff rate on all imports was around 10%, compared with an official average tariff rate of 15%.
Still, business can't hold the line on price hikes indefinitely if tariffs remain elevated, experts say. Federal Reserve Chair Jerome Powell told lawmakers this week that tariffs could yet spark higher inflation, likely starting this summer,
"Part of that is due to the start-stop nature of the tariffs that have been introduced," James Rossiter, head of global macro strategy at TD Securities, told CBS MoneyWatch.
"For us it's a question of patience more than a mystery as to where it is," he added. "The typical pass-through takes some time. We expect July to be when you start to see it more."
const link = doc.createElement('link');
link.rel = 'stylesheet';
link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028';
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();
}
});
});
});
});