Justin Trudeau's election bus rolled into Saint-Hubert, Que., on Friday as he sought to woo NDP voters in a riding where even the sitting MP has abandoned the New Democrats.

The New Democrats' sliding fortunes in Quebec prompted the incumbent here, Pierre Nantel, to defect to the Greens on the eve of the election call. The riding of Longueuil-Saint-Hubert is just one of a long list of NDP-held seats that the Liberals have targeted.

"All Canadians have a clear choice to make," Trudeau told a crowd of supporters at candidate Réjean Hébert's campaign office Friday. "Do we continue to move forward? Do we continue to do the hard work together? Or do we go backwards? Do we go back to the Stephen Harper approach?"

Harper isn't on the ballot of course. But Trudeau wants Canadians to think of Harper when they see Andrew Scheer.

The opening days of this campaign saw Trudeau repeat that message at rallies in NDP-held ridings in Vancouver and Edmonton and on the doorstep of the Montreal-area riding held for the NDP by Hélène Laverdière, who isn't running again. Trudeau was introduced at the Montreal rally by environmentalist Stephen Guilbeault, a prime spot for the Liberals' high-profile candidate.

Trudeau rolled out his policy announcements in Esquimalt, B.C., and Trois-Rivières, Que. — where New Democrats are the incumbents.

But at nearly each of these stops, there have been signs of the challenges Trudeau faces in wooing enough progressive voters to swing these seats.

2 sides of the pipeline problem

Trudeau's rally speech in Vancouver Kingsway drew a crowd of more than a thousand supporters. But amidst the cheering, the Liberal leader was interrupted by a shouting Harrison Johnston. The 19-year-old Johnston is one of many opponents of the TMX pipeline in the greater Vancouver area.

Johnston will vote for the first time in this election — his shouted question to Trudeau made it clear it won't be for the Liberals.

Harrison Johnston, 19, and Maya Mersereau-Liem, 17, went to Trudeau's Vancouver rally on Wednesday to protest his government's purchase of the TMX pipeline. (David Cochrane/CBC)

"In 11 years, when it's going to be the tipping point whether climate change becomes irreversible or not, will he be able to look his kids in the eye and tell them he did everything he could?" Johnston said after the rally.

When the campaign moved on to Alberta, it encountered the other side of that problem.

The Liberals held a rally in Edmonton Strathcona because New Democrat Linda Duncan isn't running again, and they see a rare chance for a pickup in Alberta. But Liberal staff and security had to remove an angry heckler from the crowd as Trudeau was speaking.

Patrick King, who co-organized the United We Roll pro-pipeline convoy to Parliament Hill earlier this year, was among protesters outside Trudeau's rally in Edmonton on Thursday. (David Cochrane/CBC)

Outside the Westbury Theatre that housed the rally, a crowd led by the United We Roll convoy organizer Patrick King voiced their displeasure with Trudeau's approach to the oil sector.

A man driving by the scene rolled down his car window and shouted "f--k Trudeau."

'Truth' has a price

In Quebec, Trudeau was asked repeatedly about difficult political issues such as Bill 21, the province's controversial secularism bill.

Trudeau has condemned the bill as discriminatory, but said the federal government wouldn't intervene in the legal challenges.

In Trois-Rivières, though, Trudeau said he wouldn't rule out intervening in the future — as Conservative Leader Scheer has done — calling it "irresponsible" to do so because Bill 21 deals with fundamental rights and freedoms

His candidate in Longueuil-Saint-Hubert says that position could come with a cost.

"You know telling the truth has always a price," Hébert told reporters. "But we have to take positions. We have to take clear positions."

The Liberals' clear position, at least in the first 72 hours of this campaign, is that their path to a second majority relies heavily on gains at the NDP's expense.