Economists have been watching closely to determine how tariffs might trickle through to the CPI data. For the first several months of the year, the impact appeared to be limited, but June's reading indicated that the levies might be starting to drive up prices in certain categories such as apparel, home furnishings and appliances.
Goods from more than 60 countries and the European Union are now subject to a new round of reciprocal tariffs that went into effect on Aug. 7.
The figures from today's CPI report suggest that while the prices of certain imported goods such as shoes and furniture rose from June to July, the cheaper cost of gas is offsetting some of the impact of President Donald Trump's sweeping tariffs.
"There is some sign of tariff pass through to consumer prices but, at this stage, it is not significant enough to ring alarm bells," Seema Shah, chief global strategist a Principal Asset Management, said in an email to CBS News after today's CPI report was released.
During a call with media yesterday, Alan Detmeister, an economist at UBS, said the investment bank expects consumers will start to see the direct effects of the tariffs this year or into early next year.
"It's possible that these tariff-induced price increases are a one-time price level shock that will start coming down early next year," said Detmeister. "We think they're going to be much more lasting."
Detmeister expects both core and headline CPI to peak in the second quarter of 2026, with headline CPI at 3.7% and core CPI at 3.8%.
What the inflation data could mean for a Fed rate cut
With the CPI in July rising to annualized rate of 2.7%, inflation remains above the Fed's 2% target rate, however, most analysts say that the possibility of a Fed rate cut in September is likely still on the table.
"Although core annual inflation is back to its highest level since February, today's CPI print is not hot enough to derail the Fed from cutting rates in September," said Shah.
The latest jobs report showed that hiring slowed in July, which could bolster the case for a Fed rate cut.
The Fed's mandate is to maintain maximum employment, while keeping prices down. Otherwise, the country could slip into what's called stagflation — which is when high inflation is coupled with high unemployment.
More economic data — in the form of another CPI and jobs report — is expected next month, which will inform the central bank's decision.
FactSet gives an 88% probability of a rate cut at the meeting, which is scheduled for Sept. 16 to 17.
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();
}
});
});
});
});