B737 Next Generation Undifferentiated
Air Traffic Control Fully Certified
Air Traffic Control Supervisory 3.5
Communication Breakdown; Distraction; Situational Awareness
Deviation - Altitude Excursion From Assigned Altitude; Deviation / Discrepancy - Procedural Clearance; Inflight Event / Encounter CFTT / CFIT
Air Traffic Control Issued Advisory / Alert; Air Traffic Control Issued New Clearance; Flight Crew Returned To Clearance
Human Factors; Procedure
Aircraft X was on heading 360 and instructed to descend to 6;000 ft.  I observed Aircraft X descend through 6;000 and at 5;800 I issued a low altitude alert; the MVA was 5;600.  Aircraft X did not respond and kept descending.  I issued another low altitude alert; climb and maintain 6;000 immediately and when their data block displayed 5;100 they reported level at 6;000.  I told them altitude indicates 5;100; they asked to verify altimeter 30.25 and I gave them the current altimeter 29.24.  After a couple miles they showed a climb and climbed to 6;000.It was apparent watching the replay that Aircraft X check on indicating 12;100 and reporting level at 13;000.  For some reason I did not catch it.  I even descended them to 8;000 and they leveled at an indicated 7;000 and I did not notice.  I think this is because 7;000 is a normal altitude that I would descend them to at that location but I had left them a little higher.  When I descended them to 6;000 and they indicated lower it was apparent something was wrong and I was immediately concerned about the MVA so I issued a low altitude alert before they went below the MVA and a climb to 6;000.A snowstorm had just blown through the airspace and there was still stiff winds out of the west gusting to 30 kts.  I had a sequence developing for ZZZ and Aircraft X was near the front of it.  I recall planning ahead; looking at strips; using the STARS (Standard Terminal Automation Replacement System) to determine how much the wind was pushing the vectors.  Also ZZZ had many taxiways closed from the snow so I was vectoring for much greater distance than usual (10 miles on final).  I must not have looked at Aircraft X's altitude when they checked on and just used the reported altitude.  While I am happy I got a low altitude alert out when they were near terrain; I wish that I had caught it on check-on.I found it strange that their altitude in STARS was accurate but not in the cockpit.  I thought the altimeter setting would change what STARS reported. I have to be diligent to verify altitudes when the aircraft check on; so altimeter discrepancies can be caught early.
Descending into ZZZ through FL 180 we completed the Approach Checklist and verified 30.24 altimeter setting. On vectors to final as we were leveling off; Approach Control asked us to climb to 6;000 ft. We were indicating 6;300 at that time; so the clearance just sounded odd. The Approach Controller said that we were at 5;200 and for us to climb to 6;000 and turn to a heading of 030. I immediately clicked the autopilot/auto-throttles off and started my turn towards 030 heading and started climbing; as my Pilot Monitoring verbalized that we had the wrong altimeter setting of 30.24 instead of 29.24. We leveled off at 6;000 on a 030 heading; and at that time I engaged the autopilot and auto-throttles. We got vectored for approach and landed uneventfully on Runway XX. We were asked to contact TRACON on landline by the Ground Controller as we taxied to the gate. We realized that we had unintentionally set altimeter setting of 30.24 in error instead of 29.24 which directly led to the altitude deviation. We failed to catch our error during crosschecks as we ran the checklist due to expectation bias. Lack of digital ATIS was also a contributing factor; however; we should have trapped this error as we updated the new weather. We needed to be more vigilant to trap these kind of errors.
TRACON Controller and the pilots of aircraft reported setting the wrong altimeter in the aircraft which led to low altitude alerts on final approach.