Custom URL field Issue

hello,
We are using on email template a Custom button , passing code %ACTIVATIONURL% , where ActivationUrl is an dynamic url (specific for each user) that we have populated previously.

On email received, link is initialy correctly generated = when we follow activecampaign redirect correctly on expected value.

But when this link is opened, we are updating through API another contact custom field, for example “passwordChangedOK” , but then the previous link on email become unavailable : the redirection is now directly on *.activehosted.com/%ACTIVATIONURL% , active campaign doesn’t copy anymore the value in %ACTIVATIONURL% .
When we resend another email, the link is back … Why do we loose it on first email ? Do you have a solution as, if the client click again on first email/link provided an error message is displayed.

Regards,