Here is my understanding of your scenario:
If clicked link A, activate program A and set tag to "A"
If clicked link B, activate program B and set tag to "B"
I would create 2 programs. For each program the smart list would be the conditions you just described (i.e. clicks link). Then for the flow I would choose the action you want to perform as well the "Change Data Value" and set the field value to whatever label you want. If you don't have that field created yet, go to SFDC and create that field.
Program A
Smart List: clicks link A
Flow: send email or whatever...and Change Data Value > field = name of field to "A"
Program B
Smart List: clicks link B
Flow: send email or whatever...and Change Data Value > field = name of field to "B"