# Ignition Transaction Group Firing More than Once

**URL:** <https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [May 8, 2025, 2:39pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050 "2025-05-08T14:39:05Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zachary\_Kacel1](https://avatars.discourse-cdn.com/v4/letter/z/ea666f/32.png) [@Zachary\_Kacel1](https://forum.inductiveautomation.com/u/Zachary_Kacel1)\
**Post date:** [May 8, 2025, 2:39pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/1 "2025-05-08T14:39:05Z")

</div>

I have a transaction group that will track the total gallons used when a counter tag counts up. I seen some anomalies in my data so I looked at the database and I have values that are doubling up. Do i have something setup wrong in my Transaction Group to allow the data to be loaded when the tag values has not changed?

As you can see the Ignition Tag is remaining the same but the data is getting tracked to SQL

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/e/ceeda15ef768b474f0ebd6510452cb7cb513fc46.png)

My settings

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/6/969bafec836c7a8e806e7f4d5c9afdcc0dc9c9ea.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/e/be7d4357c238a2ee6bccca5179f53fdd4b4426f6.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 8, 2025, 2:44pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/2 "2025-05-08T14:44:16Z")

</div>

The quality is probably changing.

---

<div class="post-metadata">

**Author:** ![Zachary\_Kacel1](https://avatars.discourse-cdn.com/v4/letter/z/ea666f/32.png) [@Zachary\_Kacel1](https://forum.inductiveautomation.com/u/Zachary_Kacel1)\
**Post date:** [May 8, 2025, 2:44pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/3 "2025-05-08T14:44:53Z")

</div>

Can I set it up so it only triggers on the value change?

---

<div class="post-metadata">

**Author:** ![Clancy\_Cavanaugh](https://avatars.discourse-cdn.com/v4/letter/c/45deac/32.png) [@Clancy\_Cavanaugh](https://forum.inductiveautomation.com/u/Clancy_Cavanaugh)\
**Post date:** [May 8, 2025, 3:05pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/4 "2025-05-08T15:05:41Z")

</div>

Uncheck Only evaluate when values have changed,  
Choose Execute this group on a trigger,  
Select the tag you want to monitor,  
Choose Active on value change for the Trigger conditions.

---

<div class="post-metadata">

**Author:** ![Zachary\_Kacel1](https://avatars.discourse-cdn.com/v4/letter/z/ea666f/32.png) [@Zachary\_Kacel1](https://forum.inductiveautomation.com/u/Zachary_Kacel1)\
**Post date:** [May 8, 2025, 3:10pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/5 "2025-05-08T15:10:43Z")

</div>

I am wondering if creating a named query and just putting all this on a Gateway Tag Change Script would be better. I can chose what it triggers on, plus I discovered when I make a change to my Transaction Group and save it, it writes one line to SQL doubling up my data. I can use the `if not initialChange` to prevent that.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/4/847470d475a0e4d7e3a50294734b011472e19fcc.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/e/2e080434def50cf8974f82d174fa0dd6c1bd4a72.png)

---

<div class="post-metadata">

**Author:** ![Clancy\_Cavanaugh](https://avatars.discourse-cdn.com/v4/letter/c/45deac/32.png) [@Clancy\_Cavanaugh](https://forum.inductiveautomation.com/u/Clancy_Cavanaugh)\
**Post date:** [May 9, 2025, 7:15pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/6 "2025-05-09T19:15:51Z")

</div>

Transaction Groups have an option "prevent trigger caused by group start" that should do the same thing as if not initialChange.

The scripting option should work just as well, so it is really up to you.

---

<div class="post-metadata">

**Author:** ![Zachary\_Kacel1](https://avatars.discourse-cdn.com/v4/letter/z/ea666f/32.png) [@Zachary\_Kacel1](https://forum.inductiveautomation.com/u/Zachary_Kacel1)\
**Post date:** [May 9, 2025, 7:41pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/7 "2025-05-09T19:41:40Z")

</div>

Thanks, I did not know that. I am fairly new to Transaction Groups and I like how powerful they are, I just have an easier time wrapping my head around the scripting route.

I need to put some time into understanding Transaction Groups a little better.

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 14, 2025, 1:00am UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/8 "2025-11-14T01:00:26Z")

</div>

> [@Clancy\_Cavanaugh](#):
>
> Transaction Groups have an option "prevent trigger caused by group start"

Where is this? I cannot find it.

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [November 14, 2025, 1:17am UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/9 "2025-11-14T01:17:58Z")

</div>

Trigger options, upper right when in transactions window of designer.

> **[Trigger Options | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/sql-bridge-transaction-groups/transaction-group-examples/trigger-options#execute-on-value-change)**
>
> It is often useful to execute a group only when a certain condition is met or as a bit turns on or off. Triggers allow Transaction Groups to run based on values changing in various ways.

---

<div class="post-metadata">

**Author:** ![Clancy\_Cavanaugh](https://avatars.discourse-cdn.com/v4/letter/c/45deac/32.png) [@Clancy\_Cavanaugh](https://forum.inductiveautomation.com/u/Clancy_Cavanaugh)\
**Post date:** [November 14, 2025, 1:18am UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/10 "2025-11-14T01:18:15Z")

</div>

Should be on the right hand side in the trigger tab. One of the options below the selection of the trigger tag.

[https://docs.inductiveautomation.com/docs/8.1/ignition-modules/sql-bridge-transaction-groups/understanding-transaction-groups#trigger-settings](https://docs.inductiveautomation.com/docs/8.1/ignition-modules/sql-bridge-transaction-groups/understanding-transaction-groups#trigger-settings)

---

<div class="post-metadata">

**Author:** ![Eugene49](https://avatars.discourse-cdn.com/v4/letter/e/c6cbf5/32.png) [@Eugene49](https://forum.inductiveautomation.com/u/Eugene49)\
**Post date:** [November 15, 2025, 4:20pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/11 "2025-11-15T16:20:02Z")

</div>

Not related to the subject, but I want to confirm my understanding:

The execution time interval dictates the fastest logging rate to the database.

When a Tag changes, two times, within this time will not be log (the first tag change).

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/5/350f1c09f8dc25f23aa6606e36426377f6f0c6c8.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 15, 2025, 4:36pm UTC](https://forum.inductiveautomation.com/t/ignition-transaction-group-firing-more-than-once/106050/12 "2025-11-15T16:36:23Z")

</div>

More precisely, it is how often the trigger condition is checked. If the trigger changes twice in an interval, it will typically be the **second** event that gets logged.

And this is independent of the polling pace of any Ignition tag items within the group, so tags on a slower pace can be stale.

Any transaction group items that are direct OPC items (not Ignition tags), will be subscribed at the execution pace.

If the group is set to OPC Read mode, a trigger that is a direct OPC item will be subscribed, but all other direct OPC items will not--they'll be read explicitly **after** the trigger.
