Old prefix, still read
Matomo no longer recommends pk_campaign for new links. Its documentation says links built for Matomo Cloud, or self-hosted Matomo from version 4.0 up, should use the mtm_campaign form, and that pk_ and piwik_ were the prefixes used in Matomo 3.x and below. It still honors them. pk_campaign sits in Matomo's default list of campaign name parameters, next to mtm_campaign, matomo_campaign, piwik_campaign and utm_campaign, so a newsletter or ad link tagged years ago keeps reporting as a campaign today.
What travels with it
The value is a campaign name somebody typed, not an ID generated per click. By default Matomo reads the keyword from pk_kwd or pk_keyword. It also recognizes the other pk_ tags in place of their mtm_ versions, such as pk_source, pk_medium and pk_content, though its URL builder notes that source, medium and content need the free Marketing Campaigns Reporting plugin. Matomo's own example shows one more quirk: the tag can sit after a # instead of in the query string, as in landing.html#pk_campaign=my campaign, which keeps the canonical URL cleaner.
When an old link stops counting
A site can swap the defaults for its own parameter names. Matomo's docs say that once custom names are set in both the MarketingCampaignsReporting and Tracker sections of its config file, the default mtm_, pk_ and utm_ parameters are no longer used. After that change a pk_campaign link still opens the page, but the visit no longer lands under its campaign. The same happens if pk_campaign is on the site's Excluded Parameters list, which filters it out before the data is recorded.
Sharing a pk_campaign link
The page works without it, and the value describes a marketing effort without saying anything about who clicked. Matomo does point out the reporting cost of a shared link. In its example, a subscriber pastes a newsletter link onto Facebook, and every friend who clicks it is counted under the email campaign. Campaign-tagged visits also always go to Matomo's Campaigns channel, so a tagged link shared on social media shows up there instead of under Social Networks. The Google Analytics tag for the same job is utm_campaign.