Donations as well as membership applications store the campaign/keyword value pair that is used in Piwik. The parameters come in as piwik_campaign and piwik_kwd and need to go into spenden.tracking and request.tracking when persisting the data sets. They are stored as a single string delimited by a slash.
To retain the values in every case, they should be storable on every request. They should only be stored if there is no stored value yet, though.