You wrote it is campaign based. So you are showing it once in a campaign, right?
If so, check the campaign results and see if the step was completed for the particular contact.
Or to Any contact.
The step shows pending for dynamic content. Other steps like sending an email are working.
I tried a non campaign based dynamic content.
It has a filter “email” : “not empty”
A form takes an email as input, redirects the user to a landing page with dynamic content
here is a sample page form input test