Two of the most common settings to try toggling are:
Don't allow if child element already triggers event- Related to the above, if you have child elements within your button element that have event handler(s) attached to them and triggering, this option will cause the rule to not trigger if enabled. This option is normally for helping prevent duplicate tracking. For example if you have a rule targeting all links within some header div, but some links might trigger automated exit link tracking or whatever, you may want to keep the rule from triggering so as to avoid duplicate tracking. So if you have this option checked, try unchecking it.
I'm trying to implement it on this tag <button class="btn" type="button">DONATE Today</button>
I have given element tag as button.btn, tracking as s.tl(), set page url and created a event in adobe analytics, then assigned that event to to this rule. When I run debugger it just detects the click on that button but doesn't fire event based rule.
You could do this with an event based rule in DTM. Inside the event based rule, you would set the condition to watch for a "click" event on the element you wish to track. The element can be selected via JSON, CSS selector, or ID. Once you've got the rule firing correctly, you can use the various installed tools within your DTM property to fire various beacons and code.