After starting his campaign months ago as the presumed front-runner, McCain has trailed Rudolph Giuliani, former New York mayor, and Mitt Romney, former Massachusetts governor, in all-important campaign fund-raising.
This week, McCain replaced his finance director and scheduled more fund-raising events to coincide with a campaign swing that takes him to South Carolina on Thursday, then on to Iowa, Nevada and his home state of Arizona.
A leading reason for McCain's troubles has been his vigorous support for the Iraq war at a time when many Americans are weary of the conflict and eager to return US troops home.
"We all know that the war in Iraq has not gone well. We've made mistakes and we have paid grievously for them," he said.
"We have changed the strategy that failed us, and we have begun to make a little progress."
But McCain, who spent five years as a prisoner of war in Vietnam, was unsparing in his criticism of how the war was conducted initially, saying the country should never undertake a war without a comprehensive plan for success.
He said: "We did not meet this responsibility initially. And we must never repeat that mistake again."
McCain was seen as a populist maverick in the 2000 campaign when he gave president Bush a scare by winning the first-in-the-nation primary state of New Hampshire by 18 percentage points.
This year, he is trying to recreate the magic of that campaign by tooling around in a bus dubbed the Straight Talk Express.
His position in the polls showed he had some work ahead.
McCain's rivals have larger campaign war chests.
In a Fox News/Opinion Dynamic poll conducted on April 17-18, Giuliani led McCain 35 per cent to 16 per cent, with Romney at 10 per cent.
The failure by any candidate to take a commanding lead has prompted talk that other candidates might jump into the Republican race like Fred Thompson, former Tennessee senator and popular television actor, and Michael Bloomberg, New York mayor.