Skip to main content

Goodwill Rewards

Save BIG Every Day!

NOTE: Goodwill Text Message Program not associated with Goodwill Rewards. See Text Message Program Details Here

Save BIG at Goodwill stores!

Goodwill Keystone Area stores located in central and southeastern Pennsylvania have the Goodwill Rewards Program, which is FREE. 

Reward members are eligible for:

  • 50% OFF Color of the Week Tag & $2 Tuesday Color of the Week Tag
    NOTE: See in-store signage for the discount color of the week

  • 15% off all merchandise every Monday for seniors (55 years and older)
  • 10% off all merchandise every day for military members and veterans (ID required at sign-up)
  • Sales & Promotions throughout the year - LIKE our page www.facebook.com/GoodwillKeystoneArea for the latest sale updates/announcements
  • Provide email to your sales associate at sign-up for updates on sales and promotions 

How does it work?

Customers interested in the Goodwill Rewards Program can sign-up at a register at any Goodwill Keystone Area store in central and southeastern Pennsylvania and receive a Rewards card. Our sales associates will be happy to issue you a card. You can also provide your email address to receive information about the Rewards Program and upcoming promotions.  

Please note that Goodwill Rewards cards are only available at and can only be used at stores managed by Goodwill Keystone Area.

Find a Goodwill Keystone Area Store & Donation Center Near You.

Read Our Rewards Frequently Asked Questions

truetrue
6MBMemory Usage101msRequest Duration
Joomla! Version4.2.5
PHP Version8.1.32
Identityguest
Response200
Templategoodwill-cassiopeia
Database
Server
mysql
Version
10.5.26-MariaDB
Collation
utf8_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
[]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "yourgoodwill" "HOME" => "/var/www/vhosts/yourgoodwill.org" "SCRIPT_NAME"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1744826875 "last" => 1744826875...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
PHPDEBUGBAR_STACK_DATA
[]
  • afterLoad (539.67KB) (5.66ms)
  • afterInitialise (816.01KB) (19.36ms)
  • afterRoute (548.28KB) (1.61ms)
  • beforeRenderComponent com_content (45.55KB) (1.97ms)
  • Before Access::preloadComponents (all components) (711.15KB) (9.33ms)
  • After Access::preloadComponents (all components) (110.98KB) (1.46ms)
  • Before Access::preloadPermissions (com_content) (3.85KB) (58μs)
  • After Access::preloadPermissions (com_content) (458.71KB) (2.14ms)
  • Before Access::getAssetRules (id:82 name:com_content.article.22) (34.8KB) (63μs)
  • After Access::getAssetRules (id:82 name:com_content.article.22) (27.61KB) (615μs)
  • afterRenderComponent com_content (1.91MB) (33.86ms)
  • afterDispatch (2.28KB) (124μs)
  • afterRender (698.49KB) (16.92ms)
  • 1 x afterRenderComponent com_content (1.91MB) (33.39%)
    33.86ms
    1 x afterInitialise (816.01KB) (19.09%)
    19.36ms
    1 x afterRender (698.49KB) (16.69%)
    16.92ms
    1 x Before Access::preloadComponents (all components) (711.15KB) (9.2%)
    9.33ms
    1 x afterLoad (539.67KB) (5.58%)
    5.66ms
    1 x After Access::preloadPermissions (com_content) (458.71KB) (2.11%)
    2.14ms
    1 x beforeRenderComponent com_content (45.55KB) (1.94%)
    1.97ms
    1 x afterRoute (548.28KB) (1.59%)
    1.61ms
    1 x After Access::preloadComponents (all components) (110.98KB) (1.44%)
    1.46ms
    1 x After Access::getAssetRules (id:82 name:com_content.article.22) (27.61KB) (0.61%)
    615μs
    1 x afterDispatch (2.28KB) (0.12%)
    124μs
    1 x Before Access::getAssetRules (id:82 name:com_content.article.22) (34.8KB) (0.06%)
    63μs
    1 x Before Access::preloadPermissions (com_content) (3.85KB) (0.06%)
    58μs
17 statements were executed, 2 of which were duplicates, 15 unique9.01ms155.8KB
  • SELECT @@SESSION.sql_mode;113μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:293Copy
  • SELECT `data` FROM `jmla_session` WHERE `session_id` = ?174μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = :session_id LIMIT 1102μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jmla_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)730μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jmla_viewlevels`235μs1.58KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jmla_usergroups` AS `a` LEFT JOIN `jmla_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest278μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40)889μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0775μs93.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jmla_content`560μs3.64KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:584Copy
  • UPDATE jmla_content SET `hits` = (`hits` + 1) WHERE `id` = '22'907μs48B/libraries/src/Table/Table.php:1319Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)582μs8.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`553μs5.17KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jmla_contentitem_tag_map` AS `m` INNER JOIN `jmla_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)573μs5.22KBParams/libraries/src/Helper/TagsHelper.php:364Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`616μs5.17KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jmla_fields AS a LEFT JOIN `jmla_languages` AS l ON l.lang_code = a.language LEFT JOIN jmla_users AS uc ON uc.id=a.checked_out LEFT JOIN jmla_viewlevels AS ag ON ag.id = a.access LEFT JOIN jmla_users AS ua ON ua.id = a.created_user_id LEFT JOIN jmla_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jmla_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.02ms6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc629μs4.45KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc280μs6.93KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy