diff --git a/lib/facebook_ads/base.rb b/lib/facebook_ads/base.rb
index <HASH>..<HASH> 100644
--- a/lib/facebook_ads/base.rb
+++ b/lib/facebook_ads/base.rb
@@ -51,7 +51,8 @@ module FacebookAds
         object = new
 
         hash.each_pair do |key, value|
-          object.send("#{key}=", value)
+          # https://github.com/intridea/hashie/blob/master/lib/hashie/mash.rb#L111
+          object.custom_writer(key, value, false)
         end
 
         object
diff --git a/spec/ad_creative_spec.rb b/spec/ad_creative_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/ad_creative_spec.rb
+++ b/spec/ad_creative_spec.rb
@@ -7,6 +7,7 @@ describe FacebookAds::AdCreative do
       id = '6057824295570'
       creative = FacebookAds::AdCreative.find(id)
       expect(creative.id).to eql(id)
+      expect(creative.object_story_spec.class).to eql(Hash)
     end
   end
Try that again: Prevent mash deep_update when creating objects.

<URL>